CLASSIC
Canadian Land Surface Scheme including Biogeochemical Cycles
|
Transfers information between the 'gathered' and 'scattered' form of the CLASS data arrays. More...
Functions/Subroutines | |
subroutine, public | classgather (TBARGAT, THLQGAT, THICGAT, TPNDGAT, ZPNDGAT, TBASGAT, ALBSGAT, TSNOGAT, RHOSGAT, SNOGAT, TCANGAT, RCANGAT, SCANGAT, GROGAT, CMAIGAT, FCANGAT, LNZ0GAT, ALVCGAT, ALICGAT, PAMXGAT, PAMNGAT, CMASGAT, ROOTGAT, RSMNGAT, QA50GAT, VPDAGAT, VPDBGAT, PSGAGAT, PSGBGAT, PAIDGAT, HGTDGAT, ACVDGAT, ACIDGAT, TSFSGAT, WSNOGAT, THPGAT, THRGAT, THMGAT, BIGAT, PSISGAT, GRKSGAT, THRAGAT, HCPSGAT, TCSGAT, IGDRGAT, THFCGAT, THLWGAT, PSIWGAT, DLZWGAT, ZBTWGAT, VMODGAT, ZSNLGAT, ZPLGGAT, ZPLSGAT, TACGAT, QACGAT, DRNGAT, XSLPGAT, GRKFGAT, WFSFGAT, WFCIGAT, ALGWVGAT, ALGWNGAT, ALGDVGAT, ALGDNGAT, ASVDGAT, ASIDGAT, AGVDGAT, AGIDGAT, ISNDGAT, RADJGAT, ZBLDGAT, Z0ORGAT, ZRFMGAT, ZRFHGAT, ZDMGAT, ZDHGAT, FSVHGAT, FSIHGAT, FSDBGAT, FSFBGAT, FSSBGAT, CSZGAT, FSGGAT, FLGGAT, FDLGAT, ULGAT, VLGAT, TAGAT, QAGAT, PRESGAT, PREGAT, PADRGAT, VPDGAT, TADPGAT, RHOAGAT, RPCPGAT, TRPCGAT, SPCPGAT, TSPCGAT, RHSIGAT, FCLOGAT, DLONGAT, GGEOGAT, GUSTGAT, REFGAT, BCSNGAT, DEPBGAT, DLATGAT, maxAnnualActLyrGAT, ILMOS, JLMOS, NML, NL, NT, NM, ILG, IG, IC, ICP1, NBS, TBARROT, THLQROT, THICROT, TPNDROT, ZPNDROT, TBASROT, ALBSROT, TSNOROT, RHOSROT, SNOROT, TCANROT, RCANROT, SCANROT, GROROT, CMAIROT, FCANROT, LNZ0ROT, ALVCROT, ALICROT, PAMXROT, PAMNROT, CMASROT, ROOTROT, RSMNROT, QA50ROT, VPDAROT, VPDBROT, PSGAROT, PSGBROT, PAIDROT, HGTDROT, ACVDROT, ACIDROT, TSFSROT, WSNOROT, THPROT, THRROT, THMROT, BIROT, PSISROT, GRKSROT, THRAROT, HCPSROT, TCSROT, IGDRROT, THFCROT, THLWROT, PSIWROT, DLZWROT, ZBTWROT, VMODL, ZSNLROT, ZPLGROT, ZPLSROT, TACROT, QACROT, DRNROT, XSLPROT, GRKFROT, WFSFROT, WFCIROT, ALGWVROT, ALGWNROT, ALGDVROT, ALGDNROT, ASVDROT, ASIDROT, AGVDROT, AGIDROT, ISNDROT, RADJ, ZBLDROW, Z0ORROW, ZRFMROW, ZRFHROW, ZDMROW, ZDHROW, FSVHROW, FSIHROW, FSDBROL, FSFBROL, FSSBROL, CSZROW, FSGROL, FLGROL, FDLROL, ULROW, VLROW, TAROW, QAROW, PRESROW, PREROW, PADRROW, VPDROW, TADPROW, RHOAROW, RPCPROW, TRPCROW, SPCPROW, TSPCROW, RHSIROW, FCLOROW, DLONROW, GGEOROW, GUSTROL, REFROT, BCSNROT, DEPBROW, DLATROW, maxAnnualActLyrROT) |
Gathers variables from two-dimensional arrays (latitude circle x mosaic tiles) onto long vectors for optimum processing efficiency on vector supercomputers. More... | |
subroutine, public | classgatherprep (ILMOS, JLMOS, IWMOS, JWMOS, NML, NMW, GCROW, FAREA, MOSID, NL, NM, ILG, IL1, IL2, IM) |
Assigns values to pointer vectors relating the location of elements on the "gathered" variable vectors to elements on the original two-dimensional arrays (latitude circle x mosaic tiles) for land grid cells. More... | |
subroutine, public | classscatter (TBARROT, THLQROT, THICROT, TSFSROT, TPNDROT, ZPNDROT, TBASROT, ALBSROT, TSNOROT, RHOSROT, SNOROT, GTROT, TCANROT, RCANROT, SCANROT, GROROT, CMAIROT, TACROT, QACROT, WSNOROT, REFROT, BCSNROT, EMISROT, SALBROT, CSALROT, groundHeatFluxROT, ILMOS, JLMOS, NML, NL, NT, NM, ILG, IG, IC, ICP1, NBS, TBARGAT, THLQGAT, THICGAT, TSFSGAT, TPNDGAT, ZPNDGAT, TBASGAT, ALBSGAT, TSNOGAT, RHOSGAT, SNOGAT, GTGAT, TCANGAT, RCANGAT, SCANGAT, GROGAT, CMAIGAT, TACGAT, QACGAT, WSNOGAT, REFGAT, BCSNGAT, EMISGAT, SALBGAT, CSALGAT, groundHeatFlux) |
Scatters variables from long, gathered vectors back onto original two-dimensional arrays (latitude circle x mosaic tiles). The suffix ROT refers to variables on original two-dimensional arrays. The suffix GAT refers to variables on gathered long vectors. More... | |
Transfers information between the 'gathered' and 'scattered' form of the CLASS data arrays.
subroutine, public classgatherscatter::classgather | ( | real, dimension(ilg,ig), intent(out) | TBARGAT, |
real, dimension(ilg,ig), intent(out) | THLQGAT, | ||
real, dimension(ilg,ig), intent(out) | THICGAT, | ||
real, dimension(ilg), intent(out) | TPNDGAT, | ||
real, dimension(ilg), intent(out) | ZPNDGAT, | ||
real, dimension(ilg), intent(out) | TBASGAT, | ||
real, dimension(ilg), intent(out) | ALBSGAT, | ||
real, dimension(ilg), intent(out) | TSNOGAT, | ||
real, dimension(ilg), intent(out) | RHOSGAT, | ||
real, dimension(ilg), intent(out) | SNOGAT, | ||
real, dimension(ilg), intent(out) | TCANGAT, | ||
real, dimension(ilg), intent(out) | RCANGAT, | ||
real, dimension(ilg), intent(out) | SCANGAT, | ||
real, dimension(ilg), intent(out) | GROGAT, | ||
real, dimension(ilg), intent(out) | CMAIGAT, | ||
real, dimension(ilg,icp1), intent(out) | FCANGAT, | ||
real, dimension(ilg,icp1), intent(out) | LNZ0GAT, | ||
real, dimension(ilg,icp1), intent(out) | ALVCGAT, | ||
real, dimension(ilg,icp1), intent(out) | ALICGAT, | ||
real, dimension(ilg,ic), intent(out) | PAMXGAT, | ||
real, dimension(ilg,ic), intent(out) | PAMNGAT, | ||
real, dimension(ilg,ic), intent(out) | CMASGAT, | ||
real, dimension(ilg,ic), intent(out) | ROOTGAT, | ||
real, dimension(ilg,ic), intent(out) | RSMNGAT, | ||
real, dimension(ilg,ic), intent(out) | QA50GAT, | ||
real, dimension(ilg,ic), intent(out) | VPDAGAT, | ||
real, dimension(ilg,ic), intent(out) | VPDBGAT, | ||
real, dimension(ilg,ic), intent(out) | PSGAGAT, | ||
real, dimension(ilg,ic), intent(out) | PSGBGAT, | ||
real, dimension(ilg,ic), intent(out) | PAIDGAT, | ||
real, dimension(ilg,ic), intent(out) | HGTDGAT, | ||
real, dimension(ilg,ic), intent(out) | ACVDGAT, | ||
real, dimension(ilg,ic), intent(out) | ACIDGAT, | ||
real, dimension(ilg,4), intent(out) | TSFSGAT, | ||
real, dimension(ilg), intent(out) | WSNOGAT, | ||
real, dimension (ilg,ig), intent(out) | THPGAT, | ||
real, dimension (ilg,ig), intent(out) | THRGAT, | ||
real, dimension (ilg,ig), intent(out) | THMGAT, | ||
real, dimension (ilg,ig), intent(out) | BIGAT, | ||
real, dimension(ilg,ig), intent(out) | PSISGAT, | ||
real, dimension(ilg,ig), intent(out) | GRKSGAT, | ||
real, dimension(ilg,ig), intent(out) | THRAGAT, | ||
real, dimension(ilg,ig), intent(out) | HCPSGAT, | ||
real, dimension (ilg,ig), intent(out) | TCSGAT, | ||
integer, dimension(ilg), intent(out) | IGDRGAT, | ||
real, dimension(ilg,ig), intent(out) | THFCGAT, | ||
real, dimension(ilg,ig), intent(out) | THLWGAT, | ||
real, dimension(ilg,ig), intent(out) | PSIWGAT, | ||
real, dimension(ilg,ig), intent(out) | DLZWGAT, | ||
real, dimension(ilg,ig), intent(out) | ZBTWGAT, | ||
real, dimension(ilg), intent(out) | VMODGAT, | ||
real, dimension(ilg), intent(out) | ZSNLGAT, | ||
real, dimension(ilg), intent(out) | ZPLGGAT, | ||
real, dimension(ilg), intent(out) | ZPLSGAT, | ||
real, dimension(ilg), intent(out) | TACGAT, | ||
real, dimension(ilg), intent(out) | QACGAT, | ||
real, dimension (ilg), intent(out) | DRNGAT, | ||
real, dimension(ilg), intent(out) | XSLPGAT, | ||
real, dimension(ilg), intent(out) | GRKFGAT, | ||
real, dimension(ilg), intent(out) | WFSFGAT, | ||
real, dimension(ilg), intent(out) | WFCIGAT, | ||
real, dimension(ilg), intent(out) | ALGWVGAT, | ||
real, dimension(ilg), intent(out) | ALGWNGAT, | ||
real, dimension(ilg), intent(out) | ALGDVGAT, | ||
real, dimension(ilg), intent(out) | ALGDNGAT, | ||
real, dimension(ilg), intent(out) | ASVDGAT, | ||
real, dimension(ilg), intent(out) | ASIDGAT, | ||
real, dimension(ilg), intent(out) | AGVDGAT, | ||
real, dimension(ilg), intent(out) | AGIDGAT, | ||
integer, dimension(ilg,ig), intent(out) | ISNDGAT, | ||
real, dimension(ilg), intent(out) | RADJGAT, | ||
real, dimension(ilg), intent(out) | ZBLDGAT, | ||
real, dimension(ilg), intent(out) | Z0ORGAT, | ||
real, dimension(ilg), intent(out) | ZRFMGAT, | ||
real, dimension(ilg), intent(out) | ZRFHGAT, | ||
real, dimension (ilg), intent(out) | ZDMGAT, | ||
real, dimension (ilg), intent(out) | ZDHGAT, | ||
real, dimension(ilg), intent(out) | FSVHGAT, | ||
real, dimension(ilg), intent(out) | FSIHGAT, | ||
real, dimension(ilg,nbs), intent(out) | FSDBGAT, | ||
real, dimension(ilg,nbs), intent(out) | FSFBGAT, | ||
real, dimension(ilg,nbs), intent(out) | FSSBGAT, | ||
real, dimension (ilg), intent(out) | CSZGAT, | ||
real, dimension (ilg), intent(out) | FSGGAT, | ||
real, dimension (ilg), intent(out) | FLGGAT, | ||
real, dimension (ilg), intent(out) | FDLGAT, | ||
real, dimension (ilg), intent(out) | ULGAT, | ||
real, dimension (ilg), intent(out) | VLGAT, | ||
real, dimension (ilg), intent(out) | TAGAT, | ||
real, dimension (ilg), intent(out) | QAGAT, | ||
real, dimension(ilg), intent(out) | PRESGAT, | ||
real, dimension (ilg), intent(out) | PREGAT, | ||
real, dimension(ilg), intent(out) | PADRGAT, | ||
real, dimension (ilg), intent(out) | VPDGAT, | ||
real, dimension(ilg), intent(out) | TADPGAT, | ||
real, dimension(ilg), intent(out) | RHOAGAT, | ||
real, dimension(ilg), intent(out) | RPCPGAT, | ||
real, dimension(ilg), intent(out) | TRPCGAT, | ||
real, dimension(ilg), intent(out) | SPCPGAT, | ||
real, dimension(ilg), intent(out) | TSPCGAT, | ||
real, dimension(ilg), intent(out) | RHSIGAT, | ||
real, dimension(ilg), intent(out) | FCLOGAT, | ||
real, dimension(ilg), intent(out) | DLONGAT, | ||
real, dimension(ilg), intent(out) | GGEOGAT, | ||
real, dimension(ilg), intent(out) | GUSTGAT, | ||
real, dimension(ilg), intent(out) | REFGAT, | ||
real, dimension(ilg), intent(out) | BCSNGAT, | ||
real, dimension(ilg), intent(out) | DEPBGAT, | ||
real, dimension(ilg), intent(out) | DLATGAT, | ||
real, dimension(ilg), intent(out) | maxAnnualActLyrGAT, | ||
integer, dimension (ilg), intent(in) | ILMOS, | ||
integer, dimension (ilg), intent(in) | JLMOS, | ||
integer, intent(in) | NML, | ||
integer, intent(in) | NL, | ||
integer, intent(in) | NT, | ||
integer, intent(in) | NM, | ||
integer, intent(in) | ILG, | ||
integer, intent(in) | IG, | ||
integer, intent(in) | IC, | ||
integer, intent(in) | ICP1, | ||
integer, intent(in) | NBS, | ||
real, dimension(nl,nt,ig), intent(in) | TBARROT, | ||
real, dimension(nl,nt,ig), intent(in) | THLQROT, | ||
real, dimension(nl,nt,ig), intent(in) | THICROT, | ||
real, dimension(nl,nt), intent(in) | TPNDROT, | ||
real, dimension(nl,nt), intent(in) | ZPNDROT, | ||
real, dimension(nl,nt), intent(in) | TBASROT, | ||
real, dimension(nl,nm), intent(in) | ALBSROT, | ||
real, dimension(nl,nm), intent(in) | TSNOROT, | ||
real, dimension(nl,nm), intent(in) | RHOSROT, | ||
real, dimension (nl,nm), intent(in) | SNOROT, | ||
real, dimension(nl,nt), intent(in) | TCANROT, | ||
real, dimension(nl,nt), intent(in) | RCANROT, | ||
real, dimension(nl,nt), intent(in) | SCANROT, | ||
real, dimension (nl,nt), intent(in) | GROROT, | ||
real, dimension(nl,nt), intent(in) | CMAIROT, | ||
real, dimension(nl,nt,icp1), intent(in) | FCANROT, | ||
real, dimension(nl,nt,icp1), intent(in) | LNZ0ROT, | ||
real, dimension(nl,nt,icp1), intent(in) | ALVCROT, | ||
real, dimension(nl,nt,icp1), intent(in) | ALICROT, | ||
real, dimension(nl,nt,ic), intent(in) | PAMXROT, | ||
real, dimension(nl,nt,ic), intent(in) | PAMNROT, | ||
real, dimension(nl,nt,ic), intent(in) | CMASROT, | ||
real, dimension(nl,nt,ic), intent(in) | ROOTROT, | ||
real, dimension(nl,nt,ic), intent(in) | RSMNROT, | ||
real, dimension(nl,nt,ic), intent(in) | QA50ROT, | ||
real, dimension(nl,nt,ic), intent(in) | VPDAROT, | ||
real, dimension(nl,nt,ic), intent(in) | VPDBROT, | ||
real, dimension(nl,nt,ic), intent(in) | PSGAROT, | ||
real, dimension(nl,nt,ic), intent(in) | PSGBROT, | ||
real, dimension(nl,nt,ic), intent(in) | PAIDROT, | ||
real, dimension(nl,nt,ic), intent(in) | HGTDROT, | ||
real, dimension(nl,nt,ic), intent(in) | ACVDROT, | ||
real, dimension(nl,nt,ic), intent(in) | ACIDROT, | ||
real, dimension(nl,nt,4), intent(in) | TSFSROT, | ||
real, dimension(nl,nm), intent(in) | WSNOROT, | ||
real, dimension (nl,nt,ig), intent(in) | THPROT, | ||
real, dimension (nl,nt,ig), intent(in) | THRROT, | ||
real, dimension (nl,nt,ig), intent(in) | THMROT, | ||
real, dimension (nl,nt,ig), intent(in) | BIROT, | ||
real, dimension(nl,nt,ig), intent(in) | PSISROT, | ||
real, dimension(nl,nt,ig), intent(in) | GRKSROT, | ||
real, dimension(nl,nt,ig), intent(in) | THRAROT, | ||
real, dimension(nl,nt,ig), intent(in) | HCPSROT, | ||
real, dimension (nl,nt,ig), intent(in) | TCSROT, | ||
integer, dimension(nl,nt), intent(in) | IGDRROT, | ||
real, dimension(nl,nt,ig), intent(in) | THFCROT, | ||
real, dimension(nl,nt,ig), intent(in) | THLWROT, | ||
real, dimension(nl,nt,ig), intent(in) | PSIWROT, | ||
real, dimension(nl,nt,ig), intent(in) | DLZWROT, | ||
real, dimension(nl,nt,ig), intent(in) | ZBTWROT, | ||
real, dimension (nl), intent(in) | VMODL, | ||
real, dimension(nl,nt), intent(in) | ZSNLROT, | ||
real, dimension(nl,nt), intent(in) | ZPLGROT, | ||
real, dimension(nl,nt), intent(in) | ZPLSROT, | ||
real, dimension (nl,nt), intent(in) | TACROT, | ||
real, dimension (nl,nt), intent(in) | QACROT, | ||
real, dimension (nl,nt), intent(in) | DRNROT, | ||
real, dimension(nl,nt), intent(in) | XSLPROT, | ||
real, dimension(nl,nt), intent(in) | GRKFROT, | ||
real, dimension(nl,nt), intent(in) | WFSFROT, | ||
real, dimension(nl,nt), intent(in) | WFCIROT, | ||
real, dimension(nl,nt), intent(in) | ALGWVROT, | ||
real, dimension(nl,nt), intent(in) | ALGWNROT, | ||
real, dimension(nl,nt), intent(in) | ALGDVROT, | ||
real, dimension(nl,nt), intent(in) | ALGDNROT, | ||
real, dimension(nl,nt), intent(in) | ASVDROT, | ||
real, dimension(nl,nm), intent(in) | ASIDROT, | ||
real, dimension(nl,nt), intent(in) | AGVDROT, | ||
real, dimension(nl,nt), intent(in) | AGIDROT, | ||
integer, dimension(nl,nt,ig), intent(in) | ISNDROT, | ||
real, dimension (nl), intent(in) | RADJ, | ||
real, dimension(nl), intent(in) | ZBLDROW, | ||
real, dimension(nl), intent(in) | Z0ORROW, | ||
real, dimension(nl), intent(in) | ZRFMROW, | ||
real, dimension(nl), intent(in) | ZRFHROW, | ||
real, dimension (nl), intent(in) | ZDMROW, | ||
real, dimension (nl), intent(in) | ZDHROW, | ||
real, dimension(nl), intent(in) | FSVHROW, | ||
real, dimension(nl), intent(in) | FSIHROW, | ||
real, dimension(nl,nbs), intent(in) | FSDBROL, | ||
real, dimension(nl,nbs), intent(in) | FSFBROL, | ||
real, dimension(nl,nbs), intent(in) | FSSBROL, | ||
real, dimension (nl), intent(in) | CSZROW, | ||
real, dimension (nl), intent(in) | FSGROL, | ||
real, dimension (nl), intent(in) | FLGROL, | ||
real, dimension (nl), intent(in) | FDLROL, | ||
real, dimension (nl), intent(in) | ULROW, | ||
real, dimension (nl), intent(in) | VLROW, | ||
real, dimension (nl), intent(in) | TAROW, | ||
real, dimension (nl), intent(in) | QAROW, | ||
real, dimension(nl), intent(in) | PRESROW, | ||
real, dimension (nl), intent(in) | PREROW, | ||
real, dimension(nl), intent(in) | PADRROW, | ||
real, dimension (nl), intent(in) | VPDROW, | ||
real, dimension(nl), intent(in) | TADPROW, | ||
real, dimension(nl), intent(in) | RHOAROW, | ||
real, dimension(nl), intent(in) | RPCPROW, | ||
real, dimension(nl), intent(in) | TRPCROW, | ||
real, dimension(nl), intent(in) | SPCPROW, | ||
real, dimension(nl), intent(in) | TSPCROW, | ||
real, dimension(nl), intent(in) | RHSIROW, | ||
real, dimension(nl), intent(in) | FCLOROW, | ||
real, dimension(nl), intent(in) | DLONROW, | ||
real, dimension(nl), intent(in) | GGEOROW, | ||
real, dimension(nl), intent(in) | GUSTROL, | ||
real, dimension(nl,nm), intent(in) | REFROT, | ||
real, dimension(nl,nm), intent(in) | BCSNROT, | ||
real, dimension(nl), intent(in) | DEPBROW, | ||
real, dimension(nl), intent(in) | DLATROW, | ||
real, dimension(nl,nt), intent(in) | maxAnnualActLyrROT | ||
) |
Gathers variables from two-dimensional arrays (latitude circle x mosaic tiles) onto long vectors for optimum processing efficiency on vector supercomputers.
[in] | tbarrot | Temperature of soil layers [K] |
[in] | thlqrot | Volumetric liquid water content of soil layers \([m^3 m^{-3}]\) |
[in] | thicrot | Frozen water content of soil layers under vegetation \([m^3 m^{-3}]\) |
[in] | tpndrot | Temperature of ponded water [K] |
[in] | zpndrot | Depth of ponded water on surface [m] |
[in] | tbasrot | Temperature of bedrock in third soil layer [K] |
[in] | albsrot | Snow albedo [ ] |
[in] | tsnorot | Snowpack temperature [K] |
[in] | rhosrot | Density of snow \([kg m^{-3}]\) |
[in] | snorot | Mass of snow pack \([kg m^{-2}]\) |
[in] | tcanrot | Vegetation canopy temperature [K] |
[in] | rcanrot | Intercepted liquid water stored on canopy \([kg m^{-2}]\) |
[in] | scanrot | Intercepted frozen water stored on canopy \([kg m^{-2}]\) |
[in] | grorot | Vegetation growth index [ ] |
[in] | cmairot | Aggregated mass of vegetation canopy \([kg m^{-2}]\) |
[in] | tsfsrot | Ground surface temperature over subarea [K] |
[in] | tacrot | Temperature of air within vegetation canopy [K] |
[in] | qacrot | Specific humidity of air within vegetation canopy \([kg kg^{-1}]\) |
[in] | wsnorot | Liquid water content of snow pack \([kg m^{-2}]\) |
[in] | refrot | Snow grain size (for ISNOALB=1 option) |
[in] | bcsnrot | Black carbon mixing ratio (for ISNOALB=1 option) [kg m-3] |
[in] | maxannualactlyrrot | Active layer depth maximum over the e-folding period specified by parameter eftime (m). |
[in] | ilmos | Index of latitude grid cell corresponding to current element of gathered vector of land surface variables [ ] |
[in] | jlmos | Index of mosaic tile corresponding to current element of gathered vector of land surface variables [ ] |
[in] | fcanrot | Maximum fractional coverage of modelled area by vegetation category [ ] |
[in] | lnz0rot | Natural logarithm of maximum roughness length of vegetation category [ ] |
[in] | alvcrot | Background average visible albedo of vegetation category [ ] |
[in] | alicrot | Background average near-infrared albedo of vegetation category [ ] |
[in] | pamxrot | Maximum plant area index of vegetation category [ ] |
[in] | pamnrot | Minimum plant area index of vegetation category [ ] |
[in] | cmasrot | Maximum canopy mass for vegetation category \([kg m^{-2}]\) |
[in] | rootrot | Maximum rooting depth of vegetation category [m] |
[in] | rsmnrot | Minimum stomatal resistance of vegetation category \([s m^{-1}]\) |
[in] | qa50rot | Reference value of incoming shortwave radiation for vegetation category (used in stomatal resistance calculation) \([W m^{-2}]\) |
[in] | vpdarot | Vapour pressure deficit coefficient for vegetation category (used in stomatal resistance calculation) [ ] |
[in] | vpdbrot | Vapour pressure deficit coefficient for vegetation category (used in stomatal resistance calculation) [ ] |
[in] | psgarot | Soil moisture suction coefficient for vegetation category (used in stomatal resistance calculation) [ ] |
[in] | psgbrot | Soil moisture suction coefficient for vegetation category (used in stomatal resistance calculation) [ ] |
[in] | paidrot | Optional user-specified value of plant area indices of vegetation categories to override CLASS-calculated values [ ] |
[in] | hgtdrot | Optional user-specified values of height of vegetation categories to override CLASS-calculated values [m] |
[in] | acvdrot | Optional user-specified value of canopy visible albedo to override CLASS- calculated value [ ] |
[in] | acidrot | Optional user-specified value of canopy near-infrared albedo to override CLASS- calculated value [ ] |
[in] | thprot | Pore volume in soil layer \([m^3 m^{-3}]\) |
[in] | thrrot | Liquid water retention capacity for organic soil \([m^3 m^{-3}]\) |
[in] | thmrot | Residual soil liquid water content remaining after freezing or evaporation \([m^3 m^{-3}]\) |
[in] | birot | Clapp and Hornberger empirical "b" parameter [ ] |
[in] | psisrot | Soil moisture suction at saturation [m] |
[in] | grksrot | Saturated hydraulic conductivity of soil layers \([m s^{-1}]\) |
[in] | thrarot | Fractional saturation of soil behind the wetting front [ ] |
[in] | hcpsrot | Volumetric heat capacity of soil particles \([J m^{-3}]\) |
[in] | tcsrot | Thermal conductivity of soil particles \([W m^{-1} K^{-1}]\) |
[in] | thfcrot | Field capacity \([m^3 m^{-3}]\) |
[in] | thlwrot | Liquid water content at wilting point \([m^3 m^{-3}]\) |
[in] | psiwrot | Soil moisture suction at wilting point [m] |
[in] | dlzwrot | Permeable thickness of soil layer [m] |
[in] | zbtwrot | Depth to permeable bottom of soil layer [m] |
[in] | drnrot | Drainage index at bottom of soil profile [ ] |
[in] | xslprot | Surface slope (used when running MESH code) [degrees] |
[in] | grkfrot | WATROF parameter used when running MESH code [ ] |
[in] | wfsfrot | WATROF parameter used when running MESH code [ ] |
[in] | wfcirot | WATROF parameter used when running MESH code [ ] |
[in] | algwvrot | Reference visible albedo for saturated soil [ ] |
[in] | algwnrot | Reference near-infrared albedo for saturated soil [ ] |
[in] | algdvrot | Reference visible albedo for dry soil [ ] |
[in] | algdnrot | Reference near-infrared albedo for dry soil [ ] |
[in] | asvdrot | Optional user-specified value of snow visible albedo to override CLASS- calculated value [ ] |
[in] | asidrot | Optional user-specified value of snow near-infrared albedo to override CLASS- calculated value [ ] |
[in] | agvdrot | Optional user-specified value of ground visible albedo to override CLASS- calculated value [ ] |
[in] | agidrot | Optional user-specified value of ground near-infrared albedo to override CLASS- calculated value [ ] |
[in] | zsnlrot | Limiting snow depth below which coverage is < 100% [m] |
[in] | zplgrot | Maximum water ponding depth for snow- free subareas (user-specified when running MESH code) [m] |
[in] | zplsrot | Maximum water ponding depth for snow- covered subareas (user-specified when running MESH code) [m] |
[out] | isndgat | Sand content flag |
[out] | igdrgat | Index of soil layer in which bedrock is encountered |
[in] | zrfmrow | Reference height associated with forcing wind speed [m] |
[in] | zrfhrow | Reference height associated with forcing air temperature and humidity [m] |
[in] | zdmrow | User-specified height associated with diagnosed anemometer-level wind speed [m] |
[in] | zdhrow | User-specified height associated with diagnosed screen-level variables [m] |
[in] | fsvhrow | Visible radiation incident on horizontal surface \([W m^{-2}]\) |
[in] | fsihrow | Near-infrared radiation incident on horizontal surface \([W m^{-2}]\) |
[in] | cszrow | Cosine of solar zenith angle [ ] |
[in] | fsgrol | Total shortwave radiation absorbed by land surface [W m-2] |
[in] | flgrol | Total longwave radiation absorbed by land surface [W m-2] |
[in] | fdlrol | Downwelling longwave radiation at bottom of atmosphere \([W m^{-2}]\) |
[in] | ulrow | Zonal component of wind speed \([m s^{-1}]\) |
[in] | vlrow | Meridional component of wind speed \([m s^{-1}]\) |
[in] | tarow | Air temperature at reference height [K] |
[in] | qarow | Specific humidity at reference height \([kg kg^{-1}]\) |
[in] | presrow | Surface air pressure [Pa] |
[in] | prerow | Surface precipitation rate \([kg m^{-2} s^{-1}]\) |
[in] | padrrow | Partial pressure of dry air [Pa] |
[in] | vpdrow | Vapour pressure deficit [mb] |
[in] | tadprow | Dew point temperature of air [K] |
[in] | rhoarow | Density of air \([kg m^{-3}]\) |
[in] | zbldrow | Atmospheric blending height for surface roughness length averaging [m] |
[in] | z0orrow | Orographic roughness length [m] |
[in] | rpcprow | Rainfall rate over modelled area \([m s^{-1}]\) |
[in] | trpcrow | Rainfall temperature [K] |
[in] | spcprow | Snowfall rate over modelled area \([m s^{-1}]\) |
[in] | tspcrow | Snowfall temperature [K] |
[in] | rhsirow | Density of fresh snow \([kg m^{-3}]\) |
[in] | fclorow | Fractional cloud cover [ ] |
[in] | dlonrow | Longitude of grid cell (east of Greenwich) [degrees] |
[in] | dlatrow | Latitude of grid cell [degrees] |
[in] | ggeorow | Geothermal heat flux at bottom of soil profile \([W m^{-2}]\) |
[in] | gustrol | Wind gustiness factor [ ] |
[in] | radj | Latitude of grid cell (positive north of equator) [rad] |
[in] | vmodl | Wind speed at reference height \([m s^{-1}]\) |
[in] | fsdbrol | Direct solar radiation in each modelled wavelength band [W m-2] |
[in] | fsfbrol | Diffuse solar radiation in each modelled wavelength band [W m-2] |
[in] | fssbrol | Total solar radiation in each modelled wavelength band [W m-2] |
subroutine, public classgatherscatter::classgatherprep | ( | integer, dimension (ilg), intent(out) | ILMOS, |
integer, dimension (ilg), intent(out) | JLMOS, | ||
integer, dimension (ilg), intent(out) | IWMOS, | ||
integer, dimension (ilg), intent(out) | JWMOS, | ||
integer, intent(inout) | NML, | ||
integer, intent(inout) | NMW, | ||
real, dimension (nl) | GCROW, | ||
real, dimension (nl,nm) | FAREA, | ||
integer, dimension (nl,nm) | MOSID, | ||
integer, intent(in) | NL, | ||
integer, intent(in) | NM, | ||
integer, intent(in) | ILG, | ||
integer, intent(in) | IL1, | ||
integer, intent(in) | IL2, | ||
integer, intent(in) | IM | ||
) |
Assigns values to pointer vectors relating the location of elements on the "gathered" variable vectors to elements on the original two-dimensional arrays (latitude circle x mosaic tiles) for land grid cells.
[in,out] | nml | Total number of mosaic tiles in land surface gather vectors |
[in,out] | nmw | Total number of mosaic tiles in inland water gather vectors |
[in] | nl | Number of latitude grid cells in land surface scatter vectors |
[in] | nm | Total number of CLASS mosaic tiles in land surface gather vectors |
[in] | ilg | Total number of mosaic tiles per latitude grid cell in land surface scatter vector |
[in] | im | Maximum number of mosaic tiles within the grid cells in the array under consideration |
[out] | ilmos | Index of grid cell corresponding to current element of gathered vector of land surface variables [ ] |
[out] | jlmos | Index of mosaic tile corresponding to current element of gathered vector of land surface variables [ ] |
[out] | iwmos | Index of grid cell corresponding to current element of gathered vector of inland water body variables [ ] |
[out] | jwmos | Index of mosaic tile corresponding to current element of gathered vector of inland water body variables [ ] |
gcrow | Real number identifier indicating whether the grid cell is land (-1.0), sea ice (+1.0), or ocean (0.0) | |
farea | Fractional coverage of mosaic tile on grid cell [ ] | |
mosid | Mosaic tile type identifier (1 for land, 0 for inland water) |
A looping operation is performed over the latitude circle, or array of grid cells, under consideration. If the grid cell is a land one (GCROW = -1.0), an additional internal loop is performed over all the mosaic tiles present. For each mosaic tile, if its fractional coverage is greater than zero, then if the mosaic type identifier MOSID is equal to 1 (indicating land), the counter of total mosaic tiles in the land surface gather vectors, NML, is incremented by one, and the elements of the vectors ILMOS and JLMOS corresponding to NML are set to the indices of the current grid cell and mosaic tile respectively. If MOSID is equal to zero (indicating inland water), the counter of total mosaic tiles in the inland water gather vectors, NMW, is incremented by one, and the elements of the vectors IWMOS and JWMOS corresponding to NMW are set to the indices of the current grid cell and mosaic tile respectively.
subroutine, public classgatherscatter::classscatter | ( | real, dimension(nl,nt,ig), intent(out) | TBARROT, |
real, dimension(nl,nt,ig), intent(out) | THLQROT, | ||
real, dimension(nl,nt,ig), intent(out) | THICROT, | ||
real, dimension(nl,nt,4), intent(out) | TSFSROT, | ||
real, dimension(nl,nt), intent(out) | TPNDROT, | ||
real, dimension(nl,nt), intent(out) | ZPNDROT, | ||
real, dimension(nl,nt), intent(out) | TBASROT, | ||
real, dimension(nl,nm), intent(out) | ALBSROT, | ||
real, dimension(nl,nm), intent(out) | TSNOROT, | ||
real, dimension(nl,nm), intent(out) | RHOSROT, | ||
real, dimension (nl,nm), intent(out) | SNOROT, | ||
real, dimension (nl,nm), intent(out) | GTROT, | ||
real, dimension(nl,nt), intent(out) | TCANROT, | ||
real, dimension(nl,nt), intent(out) | RCANROT, | ||
real, dimension(nl,nt), intent(out) | SCANROT, | ||
real, dimension (nl,nt), intent(out) | GROROT, | ||
real, dimension(nl,nt), intent(out) | CMAIROT, | ||
real, dimension (nl,nt), intent(out) | TACROT, | ||
real, dimension (nl,nt), intent(out) | QACROT, | ||
real, dimension(nl,nt), intent(out) | WSNOROT, | ||
real, dimension (nl,nm), intent(out) | REFROT, | ||
real, dimension(nl,nm), intent(out) | BCSNROT, | ||
real, dimension(nl,nm), intent(out) | EMISROT, | ||
real, dimension(nl,nm,nbs), intent(out) | SALBROT, | ||
real, dimension(nl,nm,nbs), intent(out) | CSALROT, | ||
real, dimension(nl, nm), intent(out) | groundHeatFluxROT, | ||
integer, dimension(ilg), intent(in) | ILMOS, | ||
integer, dimension(ilg), intent(in) | JLMOS, | ||
integer, intent(in) | NML, | ||
integer, intent(in) | NL, | ||
integer, intent(in) | NT, | ||
integer, intent(in) | NM, | ||
integer, intent(in) | ILG, | ||
integer, intent(in) | IG, | ||
integer, intent(in) | IC, | ||
integer, intent(in) | ICP1, | ||
integer, intent(in) | NBS, | ||
real, dimension(ilg,ig), intent(in) | TBARGAT, | ||
real, dimension(ilg,ig), intent(in) | THLQGAT, | ||
real, dimension(ilg,ig), intent(in) | THICGAT, | ||
real, dimension(ilg,4), intent(in) | TSFSGAT, | ||
real, dimension(ilg), intent(in) | TPNDGAT, | ||
real, dimension(ilg), intent(in) | ZPNDGAT, | ||
real, dimension(ilg), intent(in) | TBASGAT, | ||
real, dimension(ilg), intent(in) | ALBSGAT, | ||
real, dimension(ilg), intent(in) | TSNOGAT, | ||
real, dimension(ilg), intent(in) | RHOSGAT, | ||
real, dimension (ilg), intent(in) | SNOGAT, | ||
real, dimension (ilg), intent(in) | GTGAT, | ||
real, dimension(ilg), intent(in) | TCANGAT, | ||
real, dimension(ilg), intent(in) | RCANGAT, | ||
real, dimension(ilg), intent(in) | SCANGAT, | ||
real, dimension (ilg), intent(in) | GROGAT, | ||
real, dimension(ilg), intent(in) | CMAIGAT, | ||
real, dimension (ilg), intent(in) | TACGAT, | ||
real, dimension (ilg), intent(in) | QACGAT, | ||
real, dimension(ilg), intent(in) | WSNOGAT, | ||
real, dimension (ilg), intent(in) | REFGAT, | ||
real, dimension(ilg), intent(in) | BCSNGAT, | ||
real, dimension(ilg), intent(in) | EMISGAT, | ||
real, dimension(ilg,nbs), intent(in) | SALBGAT, | ||
real, dimension(ilg,nbs), intent(in) | CSALGAT, | ||
real, dimension(ilg), intent(in) | groundHeatFlux | ||
) |
Scatters variables from long, gathered vectors back onto original two-dimensional arrays (latitude circle x mosaic tiles). The suffix ROT refers to variables on original two-dimensional arrays. The suffix GAT refers to variables on gathered long vectors.
[out] | salbrot | All-sky albedo [ ] |
[out] | csalrot | Clear-sky albedo [ ] |
[out] | tbarrot | Temperature of soil layers [K] |
[out] | thlqrot | Volumetric liquid water content of soil layers \([m^3 m^{-3} ]\) |
[out] | thicrot | Volumetric frozen water content of soil layers \([m^3 m^{-3} ]\) |
[out] | tsfsrot | Ground surface temperature over subarea [K] |
[out] | tpndrot | Temperature of ponded water [K] |
[out] | zpndrot | Depth of ponded water on surface [m] |
[out] | tbasrot | Temperature of bedrock in third soil layer [K] |
[out] | albsrot | Snow albedo [ ] |
[out] | tsnorot | Snowpack temperature [K] |
[out] | rhosrot | Density of snow \([kg m^{-3} ]\) |
[out] | snorot | Mass of snow pack \([kg m^{-2} ]\) |
[out] | gtrot | Effective surface black-body temperature [K] |
[out] | tcanrot | Vegetation canopy temperature [K] |
[out] | rcanrot | Intercepted liquid water stored on canopy \([kg m^{-2} ]\) |
[out] | scanrot | Intercepted frozen water stored on canopy \([kg m^{-2} ]\) |
[out] | grorot | Vegetation growth index [ ] |
[out] | tacrot | Temperature of air within vegetation canopy [K] |
[out] | qacrot | Specific humidity of air within vegetation canopy space \([kg kg^{-1} ]\) |
[out] | wsnorot | Liquid water content of snow pack \([kg m^{-2} ]\) |
[out] | cmairot | Aggregated mass of vegetation canopy \([kg m^{-2} ]\) |
[out] | refrot | Snow grain size [m] |
[out] | bcsnrot | Black carbon mixing ratio \([kg m^{-3} ]\) |
[out] | emisrot | Surface emissivity [ ] |
[out] | groundheatfluxrot | Heat flux at soil surface \([W m^{-2} ]\) |
[in] | salbgat | All-sky albedo [ ] |
[in] | csalgat | Clear-sky albedo [ ] |
[in] | tbargat | Temperature of soil layers [K] |
[in] | thlqgat | Volumetric liquid water content of soil layers \([m^3 m^{-3} ]\) |
[in] | thicgat | Volumetric frozen water content of soil layers \([m^3 m^{-3} ]\) |
[in] | tsfsgat | Ground surface temperature over subarea [K] |
[in] | tpndgat | Temperature of ponded water [K] |
[in] | zpndgat | Depth of ponded water on surface [m] |
[in] | tbasgat | Temperature of bedrock in third soil layer [K] |
[in] | albsgat | Snow albedo [ ] |
[in] | tsnogat | Snowpack temperature [K] |
[in] | rhosgat | Density of snow \([kg m^{-3} ]\) |
[in] | snogat | Mass of snow pack \([kg m^{-2} ]\) |
[in] | gtgat | Effective surface black-body temperature [K] |
[in] | tcangat | Vegetation canopy temperature [K] |
[in] | rcangat | Intercepted liquid water stored on canopy \([kg m^{-2} ]\) |
[in] | scangat | Intercepted frozen water stored on canopy \([kg m^{-2} ]\) |
[in] | grogat | Vegetation growth index [ ] |
[in] | tacgat | Temperature of air within vegetation canopy [K] |
[in] | qacgat | Specific humidity of air within vegetation canopy space \([kg kg^{-1} ]\) |
[in] | wsnogat | Liquid water content of snow pack \([kg m^{-2} ]\) |
[in] | cmaigat | Aggregated mass of vegetation canopy \([kg m^{-2} ]\) |
[in] | refgat | Snow grain size [m] |
[in] | bcsngat | Black carbon mixing ratio \([kg m^{-3} ]\) |
[in] | emisgat | Surface emissivity [ ] |
[in] | groundheatflux | Heat flux at soil surface \([W m^{-2} ]\) |
The prognostic variables are scattered from the long, gathered arrays (collapsing the latitude and mosaic dimensions into one) back onto the original arrays using the pointer vectors generated in classGatherPrep.