CLASSIC
Canadian Land Surface Scheme including Biogeochemical Cycles
classgatherscatter Module Reference

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...
 

Detailed Description

Transfers information between the 'gathered' and 'scattered' form of the CLASS data arrays.

Function/Subroutine Documentation

◆ classgather()

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.

Author
D. Verseghy, M. Lazare
Parameters
[in]tbarrotTemperature of soil layers [K]
[in]thlqrotVolumetric liquid water content of soil layers \([m^3 m^{-3}]\)
[in]thicrotFrozen water content of soil layers under vegetation \([m^3 m^{-3}]\)
[in]tpndrotTemperature of ponded water [K]
[in]zpndrotDepth of ponded water on surface [m]
[in]tbasrotTemperature of bedrock in third soil layer [K]
[in]albsrotSnow albedo [ ]
[in]tsnorotSnowpack temperature [K]
[in]rhosrotDensity of snow \([kg m^{-3}]\)
[in]snorotMass of snow pack \([kg m^{-2}]\)
[in]tcanrotVegetation canopy temperature [K]
[in]rcanrotIntercepted liquid water stored on canopy \([kg m^{-2}]\)
[in]scanrotIntercepted frozen water stored on canopy \([kg m^{-2}]\)
[in]grorotVegetation growth index [ ]
[in]cmairotAggregated mass of vegetation canopy \([kg m^{-2}]\)
[in]tsfsrotGround surface temperature over subarea [K]
[in]tacrotTemperature of air within vegetation canopy [K]
[in]qacrotSpecific humidity of air within vegetation canopy \([kg kg^{-1}]\)
[in]wsnorotLiquid water content of snow pack \([kg m^{-2}]\)
[in]refrotSnow grain size (for ISNOALB=1 option)
[in]bcsnrotBlack carbon mixing ratio (for ISNOALB=1 option) [kg m-3]
[in]maxannualactlyrrotActive layer depth maximum over the e-folding period specified by parameter eftime (m).
[in]ilmosIndex of latitude grid cell corresponding to current element of gathered vector of land surface variables [ ]
[in]jlmosIndex of mosaic tile corresponding to current element of gathered vector of land surface variables [ ]
[in]fcanrotMaximum fractional coverage of modelled area by vegetation category [ ]
[in]lnz0rotNatural logarithm of maximum roughness length of vegetation category [ ]
[in]alvcrotBackground average visible albedo of vegetation category [ ]
[in]alicrotBackground average near-infrared albedo of vegetation category [ ]
[in]pamxrotMaximum plant area index of vegetation category [ ]
[in]pamnrotMinimum plant area index of vegetation category [ ]
[in]cmasrotMaximum canopy mass for vegetation category \([kg m^{-2}]\)
[in]rootrotMaximum rooting depth of vegetation category [m]
[in]rsmnrotMinimum stomatal resistance of vegetation category \([s m^{-1}]\)
[in]qa50rotReference value of incoming shortwave radiation for vegetation category (used in stomatal resistance calculation) \([W m^{-2}]\)
[in]vpdarotVapour pressure deficit coefficient for vegetation category (used in stomatal resistance calculation) [ ]
[in]vpdbrotVapour pressure deficit coefficient for vegetation category (used in stomatal resistance calculation) [ ]
[in]psgarotSoil moisture suction coefficient for vegetation category (used in stomatal resistance calculation) [ ]
[in]psgbrotSoil moisture suction coefficient for vegetation category (used in stomatal resistance calculation) [ ]
[in]paidrotOptional user-specified value of plant area indices of vegetation categories to override CLASS-calculated values [ ]
[in]hgtdrotOptional user-specified values of height of vegetation categories to override CLASS-calculated values [m]
[in]acvdrotOptional user-specified value of canopy visible albedo to override CLASS- calculated value [ ]
[in]acidrotOptional user-specified value of canopy near-infrared albedo to override CLASS- calculated value [ ]
[in]thprotPore volume in soil layer \([m^3 m^{-3}]\)
[in]thrrotLiquid water retention capacity for organic soil \([m^3 m^{-3}]\)
[in]thmrotResidual soil liquid water content remaining after freezing or evaporation \([m^3 m^{-3}]\)
[in]birotClapp and Hornberger empirical "b" parameter [ ]
[in]psisrotSoil moisture suction at saturation [m]
[in]grksrotSaturated hydraulic conductivity of soil layers \([m s^{-1}]\)
[in]thrarotFractional saturation of soil behind the wetting front [ ]
[in]hcpsrotVolumetric heat capacity of soil particles \([J m^{-3}]\)
[in]tcsrotThermal conductivity of soil particles \([W m^{-1} K^{-1}]\)
[in]thfcrotField capacity \([m^3 m^{-3}]\)
[in]thlwrotLiquid water content at wilting point \([m^3 m^{-3}]\)
[in]psiwrotSoil moisture suction at wilting point [m]
[in]dlzwrotPermeable thickness of soil layer [m]
[in]zbtwrotDepth to permeable bottom of soil layer [m]
[in]drnrotDrainage index at bottom of soil profile [ ]
[in]xslprotSurface slope (used when running MESH code) [degrees]
[in]grkfrotWATROF parameter used when running MESH code [ ]
[in]wfsfrotWATROF parameter used when running MESH code [ ]
[in]wfcirotWATROF parameter used when running MESH code [ ]
[in]algwvrotReference visible albedo for saturated soil [ ]
[in]algwnrotReference near-infrared albedo for saturated soil [ ]
[in]algdvrotReference visible albedo for dry soil [ ]
[in]algdnrotReference near-infrared albedo for dry soil [ ]
[in]asvdrotOptional user-specified value of snow visible albedo to override CLASS- calculated value [ ]
[in]asidrotOptional user-specified value of snow near-infrared albedo to override CLASS- calculated value [ ]
[in]agvdrotOptional user-specified value of ground visible albedo to override CLASS- calculated value [ ]
[in]agidrotOptional user-specified value of ground near-infrared albedo to override CLASS- calculated value [ ]
[in]zsnlrotLimiting snow depth below which coverage is < 100% [m]
[in]zplgrotMaximum water ponding depth for snow- free subareas (user-specified when running MESH code) [m]
[in]zplsrotMaximum water ponding depth for snow- covered subareas (user-specified when running MESH code) [m]
[out]isndgatSand content flag
[out]igdrgatIndex of soil layer in which bedrock is encountered
[in]zrfmrowReference height associated with forcing wind speed [m]
[in]zrfhrowReference height associated with forcing air temperature and humidity [m]
[in]zdmrowUser-specified height associated with diagnosed anemometer-level wind speed [m]
[in]zdhrowUser-specified height associated with diagnosed screen-level variables [m]
[in]fsvhrowVisible radiation incident on horizontal surface \([W m^{-2}]\)
[in]fsihrowNear-infrared radiation incident on horizontal surface \([W m^{-2}]\)
[in]cszrowCosine of solar zenith angle [ ]
[in]fsgrolTotal shortwave radiation absorbed by land surface [W m-2]
[in]flgrolTotal longwave radiation absorbed by land surface [W m-2]
[in]fdlrolDownwelling longwave radiation at bottom of atmosphere \([W m^{-2}]\)
[in]ulrowZonal component of wind speed \([m s^{-1}]\)
[in]vlrowMeridional component of wind speed \([m s^{-1}]\)
[in]tarowAir temperature at reference height [K]
[in]qarowSpecific humidity at reference height \([kg kg^{-1}]\)
[in]presrowSurface air pressure [Pa]
[in]prerowSurface precipitation rate \([kg m^{-2} s^{-1}]\)
[in]padrrowPartial pressure of dry air [Pa]
[in]vpdrowVapour pressure deficit [mb]
[in]tadprowDew point temperature of air [K]
[in]rhoarowDensity of air \([kg m^{-3}]\)
[in]zbldrowAtmospheric blending height for surface roughness length averaging [m]
[in]z0orrowOrographic roughness length [m]
[in]rpcprowRainfall rate over modelled area \([m s^{-1}]\)
[in]trpcrowRainfall temperature [K]
[in]spcprowSnowfall rate over modelled area \([m s^{-1}]\)
[in]tspcrowSnowfall temperature [K]
[in]rhsirowDensity of fresh snow \([kg m^{-3}]\)
[in]fclorowFractional cloud cover [ ]
[in]dlonrowLongitude of grid cell (east of Greenwich) [degrees]
[in]dlatrowLatitude of grid cell [degrees]
[in]ggeorowGeothermal heat flux at bottom of soil profile \([W m^{-2}]\)
[in]gustrolWind gustiness factor [ ]
[in]radjLatitude of grid cell (positive north of equator) [rad]
[in]vmodlWind speed at reference height \([m s^{-1}]\)
[in]fsdbrolDirect solar radiation in each modelled wavelength band [W m-2]
[in]fsfbrolDiffuse solar radiation in each modelled wavelength band [W m-2]
[in]fssbrolTotal solar radiation in each modelled wavelength band [W m-2]

◆ classgatherprep()

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.

Author
D. Verseghy, M. Lazare, E. Chan
Parameters
[in,out]nmlTotal number of mosaic tiles in land surface gather vectors
[in,out]nmwTotal number of mosaic tiles in inland water gather vectors
[in]nlNumber of latitude grid cells in land surface scatter vectors
[in]nmTotal number of CLASS mosaic tiles in land surface gather vectors
[in]ilgTotal number of mosaic tiles per latitude grid cell in land surface scatter vector
[in]imMaximum number of mosaic tiles within the grid cells in the array under consideration
[out]ilmosIndex of grid cell corresponding to current element of gathered vector of land surface variables [ ]
[out]jlmosIndex of mosaic tile corresponding to current element of gathered vector of land surface variables [ ]
[out]iwmosIndex of grid cell corresponding to current element of gathered vector of inland water body variables [ ]
[out]jwmosIndex of mosaic tile corresponding to current element of gathered vector of inland water body variables [ ]
gcrowReal number identifier indicating whether the grid cell is land (-1.0), sea ice (+1.0), or ocean (0.0)
fareaFractional coverage of mosaic tile on grid cell [ ]
mosidMosaic 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.

◆ classscatter()

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.

Author
D. Verseghy, M. Lazare
Parameters
[out]salbrotAll-sky albedo [ ]
[out]csalrotClear-sky albedo [ ]
[out]tbarrotTemperature of soil layers [K]
[out]thlqrotVolumetric liquid water content of soil layers \([m^3 m^{-3} ]\)
[out]thicrotVolumetric frozen water content of soil layers \([m^3 m^{-3} ]\)
[out]tsfsrotGround surface temperature over subarea [K]
[out]tpndrotTemperature of ponded water [K]
[out]zpndrotDepth of ponded water on surface [m]
[out]tbasrotTemperature of bedrock in third soil layer [K]
[out]albsrotSnow albedo [ ]
[out]tsnorotSnowpack temperature [K]
[out]rhosrotDensity of snow \([kg m^{-3} ]\)
[out]snorotMass of snow pack \([kg m^{-2} ]\)
[out]gtrotEffective surface black-body temperature [K]
[out]tcanrotVegetation canopy temperature [K]
[out]rcanrotIntercepted liquid water stored on canopy \([kg m^{-2} ]\)
[out]scanrotIntercepted frozen water stored on canopy \([kg m^{-2} ]\)
[out]grorotVegetation growth index [ ]
[out]tacrotTemperature of air within vegetation canopy [K]
[out]qacrotSpecific humidity of air within vegetation canopy space \([kg kg^{-1} ]\)
[out]wsnorotLiquid water content of snow pack \([kg m^{-2} ]\)
[out]cmairotAggregated mass of vegetation canopy \([kg m^{-2} ]\)
[out]refrotSnow grain size [m]
[out]bcsnrotBlack carbon mixing ratio \([kg m^{-3} ]\)
[out]emisrotSurface emissivity [ ]
[out]groundheatfluxrotHeat flux at soil surface \([W m^{-2} ]\)
[in]salbgatAll-sky albedo [ ]
[in]csalgatClear-sky albedo [ ]
[in]tbargatTemperature of soil layers [K]
[in]thlqgatVolumetric liquid water content of soil layers \([m^3 m^{-3} ]\)
[in]thicgatVolumetric frozen water content of soil layers \([m^3 m^{-3} ]\)
[in]tsfsgatGround surface temperature over subarea [K]
[in]tpndgatTemperature of ponded water [K]
[in]zpndgatDepth of ponded water on surface [m]
[in]tbasgatTemperature of bedrock in third soil layer [K]
[in]albsgatSnow albedo [ ]
[in]tsnogatSnowpack temperature [K]
[in]rhosgatDensity of snow \([kg m^{-3} ]\)
[in]snogatMass of snow pack \([kg m^{-2} ]\)
[in]gtgatEffective surface black-body temperature [K]
[in]tcangatVegetation canopy temperature [K]
[in]rcangatIntercepted liquid water stored on canopy \([kg m^{-2} ]\)
[in]scangatIntercepted frozen water stored on canopy \([kg m^{-2} ]\)
[in]grogatVegetation growth index [ ]
[in]tacgatTemperature of air within vegetation canopy [K]
[in]qacgatSpecific humidity of air within vegetation canopy space \([kg kg^{-1} ]\)
[in]wsnogatLiquid water content of snow pack \([kg m^{-2} ]\)
[in]cmaigatAggregated mass of vegetation canopy \([kg m^{-2} ]\)
[in]refgatSnow grain size [m]
[in]bcsngatBlack carbon mixing ratio \([kg m^{-3} ]\)
[in]emisgatSurface emissivity [ ]
[in]groundheatfluxHeat 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.