global_cycle  1.5.0
 All Data Structures Files Functions Variables
sfcsub.F File Reference

This is a limited point version of surface program. More...

Go to the source code of this file.

Data Types

module  sfccyc_module
 This program runs in two different modes: More...
 

Functions/Subroutines

subroutine albocn (albclm, slmask, albomx, len)
 Set the albedo at open water points. More...
 
subroutine analy (lugb, iy, im, id, ih, fh, len, lsoil, slmask, fntsfa, fnweta, fnsnoa, fnzora, fnalba, fnaisa, fntg3a, fnscva, fnsmca, fnstca, fnacna, fnvega, fnveta, fnsota, fnvmna, fnvmxa, fnslpa, fnabsa, tsfanl, wetanl, snoanl, zoranl, albanl, aisanl, tg3anl, cvanl, cvbanl, cvtanl, smcanl, stcanl, slianl, scvanl, acnanl, veganl, vetanl, sotanl, alfanl, tsfan0, vmnanl, vmxanl, slpanl, absanl, kpdtsf, kpdwet, kpdsno, kpdsnd, kpdzor, kpdalb, kpdais, kpdtg3, kpdscv, kpdacn, kpdsmc, kpdstc, kpdveg, kprvet, kpdsot, kpdalf, kpdvmn, kpdvmx, kpdslp, kpdabs, irttsf, irtwet, irtsno, irtzor, irtalb, irtais, irttg3, irtscv, irtacn, irtsmc, irtstc, irtveg, irtvet, irtsot, irtalf, irtvmn, irtvmx, irtslp, irtabs, imsk, jmsk, slmskh, outlat, outlon, gaus, blno, blto, me, lanom)
 Read analysis fields. More...
 
subroutine anomint (tsfan0, tsfclm, tsfcl0, tsfanl, len)
 Add initial SST anomaly to date interpolated climatology. More...
 
subroutine clima (lugb, iy, im, id, ih, fh, len, lsoil, slmask, fntsfc, fnwetc, fnsnoc, fnzorc, fnalbc, fnaisc, fntg3c, fnscvc, fnsmcc, fnstcc, fnacnc, fnvegc, fnvetc, fnsotc, fnvmnc, fnvmxc, fnslpc, fnabsc, tsfclm, tsfcl2, wetclm, snoclm, zorclm, albclm, aisclm, tg3clm, cvclm, cvbclm, cvtclm, cnpclm, smcclm, stcclm, sliclm, scvclm, acnclm, vegclm, vetclm, sotclm, alfclm, vmnclm, vmxclm, slpclm, absclm, kpdtsf, kpdwet, kpdsno, kpdzor, kpdalb, kpdais, kpdtg3, kpdscv, kpdacn, kpdsmc, kpdstc, kpdveg, kpdvet, kpdsot, kpdalf, tsfcl0, kpdvmn, kpdvmx, kpdslp, kpdabs, deltsfc, lanom, imsk, jmsk, slmskh, outlat, outlon, gaus, blno, blto, me, lprnt, iprnt, fnalbc2, ialb, tile_num_ch, i_index, j_index)
 Driver routine that reads in climatological data for a given time, and, if necessary, interpolates it to the model grid. More...
 
subroutine count (slimsk, sno, ijmax)
 Counts the number of model points that are snow covered land, snow-free land, open water, sea ice, and snow covered sea ice. More...
 
subroutine dayoyr (iyr, imo, idy, ldy)
 Compute day of the year based on month and day. More...
 
subroutine filanl (tsfanl, tsfan2, wetanl, snoanl, zoranl, albanl, aisanl, tg3anl, cvanl, cvbanl, cvtanl, cnpanl, smcanl, stcanl, slianl, scvanl, veganl, vetanl, sotanl, alfanl, sihanl, sicanl, vmnanl, vmxanl, slpanl, absanl, tsfclm, tsfcl2, wetclm, snoclm, zorclm, albclm, aisclm, tg3clm, cvclm, cvbclm, cvtclm, cnpclm, smcclm, stcclm, sliclm, scvclm, vegclm, vetclm, sotclm, alfclm, sihclm, sicclm, vmnclm, vmxclm, slpclm, absclm, len, lsoil)
 Fill in analysis arrays with climatology before reading analysis data. More...
 
subroutine filfcs (tsffcs, wetfcs, snofcs, zorfcs, albfcs, tg3fcs, cvfcs, cvbfcs, cvtfcs, cnpfcs, smcfcs, stcfcs, slifcs, aisfcs, vegfcs, vetfcs, sotfcs, alffcs, sihfcs, sicfcs, vmnfcs, vmxfcs, slpfcs, absfcs, tsfanl, wetanl, snoanl, zoranl, albanl, tg3anl, cvanl, cvbanl, cvtanl, cnpanl, smcanl, stcanl, slianl, aisanl, veganl, vetanl, sotanl, alfanl, sihanl, sicanl, vmnanl, vmxanl, slpanl, absanl, len, lsoil)
 Fill in model grid guess arrays with analysis values if this is a dead start. More...
 
subroutine fixrda (lugb, fngrib, kpds5, slmask, iy, im, id, ih, fh, gdata, len, iret, imsk, jmsk, slmskh, gaus, blno, blto, outlat, outlon, me)
 Read in grib1 analysis data for the requested date and horizontally interpolate to the model grid. More...
 
subroutine fixrdc (lugb, fngrib, kpds5, kpds7, mon, slmask, gdata, len, iret, imsk, jmsk, slmskh, gaus, blno, blto, outlat, outlon, me)
 Read in grib1 climatology data for a specific month and and horizontally interpolate to the model grid. More...
 
subroutine fixrdc_tile (filename_raw, tile_num_ch, i_index, j_index, kpds, var, mon, npts, me)
 Reads in climatological data on the model grid tile for a given month. More...
 
subroutine fixrdg (lugb, idim, jdim, fngrib, kpds5, gdata, gaus, blno, blto, me)
 Read a GRIB1 file. More...
 
subroutine ga2la (gauin, imxin, jmxin, regout, imxout, jmxout, wlon, rnlat, rlnout, rltout, gaus, blno, blto)
 Interpolation from lat/lon or gaussian grid to a lat/lon grid. More...
 
subroutine gaulat (gaul, k)
 Calculate gaussian latitudes. More...
 
subroutine getarea (kgds, dlat, dlon, rslat, rnlat, wlon, elon, ijordr, me)
 For a given GRIB1 grid description section array, determine some grid specifications. More...
 
subroutine getscv (snofld, scvfld, len)
 Set snow cover flag based on snow depth. More...
 
subroutine getsmc (wetfld, len, lsoil, smcfld, me)
 Set soil moisture from soil wetness. More...
 
subroutine getstc (tsffld, tg3fld, slifld, len, lsoil, stcfld, tsfimx)
 Set soil temperature and sea ice column temperature. More...
 
subroutine hmskrd (lugb, imsk, jmsk, fnmskh, kpds5, slmskh, gausm, blnmsk, bltmsk, me)
 Read a high-resolution land mask. More...
 
subroutine la2ga (regin, imxin, jmxin, rinlon, rinlat, rlon, rlat, inttyp, gauout, len, lmask, rslmsk, slmask, outlat, outlon, me)
 Interpolate data from a lat/lon grid to the model grid. More...
 
subroutine landtyp (vegtype, soiltype, slptype, slmask, len)
 Set vegetation, soil and slope type at undefined model points. More...
 
subroutine maxmin (f, imax, kmax)
 Compute the maxmimum and minimum of a field. More...
 
subroutine merge (len, lsoil, iy, im, id, ih, fh, deltsfc, sihfcs, sicfcs, vmnfcs, vmxfcs, slpfcs, absfcs, tsffcs, wetfcs, snofcs, zorfcs, albfcs, aisfcs, cvfcs, cvbfcs, cvtfcs, cnpfcs, smcfcs, stcfcs, slifcs, vegfcs, vetfcs, sotfcs, alffcs, sihanl, sicanl, vmnanl, vmxanl, slpanl, absanl, tsfanl, tsfan2, wetanl, snoanl, zoranl, albanl, aisanl, cvanl, cvbanl, cvtanl, cnpanl, smcanl, stcanl, slianl, veganl, vetanl, sotanl, alfanl, ctsfl, calbl, caisl, csnol, csmcl, czorl, cstcl, cvegl, ctsfs, calbs, caiss, csnos, csmcs, czors, cstcs, cvegs, ccv, ccvb, ccvt, ccnp, cvetl, cvets, csotl, csots, calfl, calfs, csihl, csihs, csicl, csics, cvmnl, cvmns, cvmxl, cvmxs, cslpl, cslps, cabsl, cabss, irttsf, irtwet, irtsno, irtzor, irtalb, irtais, irttg3, irtscv, irtacn, irtsmc, irtstc, irtveg, irtvmn, irtvmx, irtslp, irtabs, irtvet, irtsot, irtalf, landice, me)
 Blend the model forecast (or first guess) fields with the analysis/climatology. More...
 
subroutine monitr (lfld, fld, slimsk, sno, ijmax)
 Determine the maximum and minimum values of a surface field at snow-free and snow covered land, open water, and snow-free and snow covered sea ice. More...
 
subroutine netcdf_err (error)
 Print the error message for a given netCDF return code. More...
 
subroutine newice (slianl, slifcs, tsfanl, tsffcs, len, lsoil, sihnew, sicnew, sihanl, sicanl, albanl, snoanl, zoranl, smcanl, stcanl, albsea, snosea, zorsea, smcsea, smcice, tsfmin, tsfice, albice, zorice, tgice, rla, rlo, me)
 Adjust surface fields when ice melts or forms. More...
 
subroutine qcbyfc (tsffcs, snofcs, qctsfs, qcsnos, qctsfi, len, lsoil, snoanl, aisanl, slianl, tsfanl, albanl, zoranl, smcanl, smcclm, tsfsmx, albomx, zoromx, me)
 Quality control analysis fields using the first guess. More...
 
subroutine qcmxice (glacir, amxice, len, me)
 Quality control maximum ice extent. More...
 
subroutine qcmxmn (ttl, fld, slimsk, sno, iceflg, fldlmx, fldlmn, fldomx, fldomn, fldimx, fldimn, fldjmx, fldjmn, fldsmx, fldsmn, epsfld, rla, rlo, len, mode, percrit, lgchek, me)
 Range check a field. More...
 
subroutine qcsice (ais, glacir, amxice, aicice, aicsea, sllnd, slmask, rla, rlo, len, me)
 Check the sea ice cover mask against the land-sea mask. More...
 
subroutine qcsli (slianl, slifcs, len, me)
 Check consistency between the forecast and analysis land-sea-ice mask. More...
 
subroutine qcsnow (snoanl, slmask, aisanl, glacir, len, snoval, landice, me)
 Quality control snow at the model points. More...
 
subroutine rof01 (aisfld, len, op, crit)
 Round a field up to one or down to zero. More...
 
subroutine scale (fld, len, scl)
 Multiply a field by a scaling factor. More...
 
subroutine setlsi (slmask, aisfld, len, aicice, slifld)
 Set land-sea-ice mask at sea ice. More...
 
subroutine setrmsk (kpds5, slmask, igaul, jgaul, wlon, rnlat, data, imax, jmax, rlnout, rltout, lmask, rslmsk, gaus, blno, blto, kgds1, kpds4, lbms)
 Set the mask for the input data. More...
 
subroutine setzro (fld, eps, len)
 Set a field to zero if it is less than a threshold. More...
 
subroutine sfccycle (lugb, len, lsoil, sig1t, deltsfc, iy, im, id, ih, fh, rla, rlo, slmask, orog, orog_uf, use_ufo, nst_anl, sihfcs, sicfcs, sitfcs, swdfcs, slcfcs, vmnfcs, vmxfcs, slpfcs, absfcs, tsffcs, snofcs, zorfcs, albfcs, tg3fcs, cnpfcs, smcfcs, stcfcs, slifcs, aisfcs, vegfcs, vetfcs, sotfcs, alffcs, cvfcs, cvbfcs, cvtfcs, me, nlunit, sz_nml, input_nml_file, ialb, isot, ivegsrc, tile_num_ch, i_index, j_index)
 Surface cycling driver routine. More...
 
subroutine snodpth (scvanl, slianl, tsfanl, snoclm, glacir, snwmax, snwmin, landice, len, snoanl, me)
 Estimate snow depth at glacial, land and sea ice points. More...
 
subroutine snodpth2 (glacir, snwmax, snoanl, len, me)
 Ensure deep snow pack at permanent glacial points. More...
 
subroutine snosfc (snoanl, tsfanl, tsfsmx, len, me)
 Check skin temperature at points with snow. More...
 
subroutine subst (data, imax, jmax, dlon, dlat, ijordr)
 Take an array of data on a lat/lon based grid and rearrange it so the corner point is in the 'lower left' and adjacent points in the 'i' direction are consecutive. More...
 
subroutine tsfcor (tsfc, orog, slmask, umask, len, rlapse)
 Adjust skin temperature or SST for terrain. More...
 
subroutine usesgt (sig1t, slianl, tg3anl, len, lsoil, tsfanl, stcanl, tsfimx)
 Set soil temperature and sea ice column temperature for a dead start. More...
 

Detailed Description

This is a limited point version of surface program.

Author
Shrinivas Moorthi Mark Iredell NOAA/EMC

Definition in file sfcsub.F.


Data Type Documentation

module sfccyc_module

This program runs in two different modes:

  1. analysis mode (fh=0.) this program merges climatology, analysis and forecast guess to create new surface fields. if analysis file is given, the program uses it if date of the analysis matches with iy,im,id,ih (see note below).
  2. forecast mode (fh.gt.0.) this program interpolates climatology to the date corresponding to the forecast hour. if surface analysis file is given, for the corresponding dates, the program will use it.

if the date of the analysis does not match given iy,im,id,ih, (and fh), the program searches an old analysis by going back 6 hours, then 12 hours, then one day upto nrepmx days (parameter statement in the subrotine fixrd. now defined as 8). this allows the user to provide non-daily analysis to be used. if matching field is not found, the forecast guess will be used.

use of a combined earlier surface analyses and current analysis is not allowed (as was done in the old version for snow analysis in which old snow analysis is used in combination with initial guess), except for sea surface temperature. for sst anolmaly interpolation, you need to set lanom=.true. and must provide sst analysis at initial time.

if you want to do complex merging of past and present surface field analysis, you need to create a separate file that contains daily surface field.

for a dead start, do not supply fnbgsi or set fnbgsi=' '

  • lugb is the unit number used in this subprogram
  • len ... number of points on which sfccyc operates
  • lsoil .. number of soil layers (2 as of april, 1994)
  • iy,im,id,ih .. year, month, day, and hour of initial state.
  • fh .. forecast hour
  • rla, rlo – latitude and longitudes of the len points
  • sig1t .. sigma level 1 temperature for dead start. should be on gaussian grid. if not dead start, no need for dimension but set to zero as in the example below.
Author
M. Iredell, xuli, Hang Lei, George Gayno

Definition at line 46 of file sfcsub.F.

Data Fields
integer kpdabs GRIB1 parameter number of maximum snow albedo.
integer kpdabs_0 GRIB1 parameter number of legacy maximum snow albedo.
integer kpdabs_1 GRIB1 parameter number of modis-based maximum snow albedo.
integer kpdacn GRIB1 parameter number of sea ice concentration.
integer kpdais GRIB1 parameter number of roughness length.
integer, dimension(4) kpdalb GRIB1 parameter number of 4-component snow-free albedo.
integer, dimension(4), parameter kpdalb_0 GRIB1 parameter numbers for brigleb snow-free albedo.
integer, dimension(4), parameter kpdalb_1 GRIB1 parameter numbers for modis snow-free albedo.
integer, dimension(2), parameter kpdalf GRIB1 parameter numbers of fraction for strongly/weakly zenith angle dependent albedo.
integer kpdgla GRIB1 parameter number of glacial ice.
integer kpdmsk GRIB1 parameter number of land mask.
integer kpdmxi GRIB1 parameter number of maximum ice extent.
integer kpdoro GRIB1 parameter number of orography.
integer kpdplr GRIB1 parameter number of plant resistance.
integer kpdscv GRIB1 parameter number of snow cover.
integer kpdslp GRIB1 parameter number of slope type.
integer kpdsmc GRIB1 parameter number of soil moisture.
integer kpdsnd GRIB1 parameter number of physical snow depth.
integer kpdsno GRIB1 parameter number of liquid equivalent snow depth.
integer kpdsot GRIB1 parameter number of soil type.
integer kpdstc GRIB1 parameter number of soil temperature.
integer kpdtg3 GRIB1 parameter number of soil substrate temperature.
integer kpdtsf GRIB1 parameter number of skin temperature/SST.
integer kpdveg GRIB1 parameter number of vegetation greenness.
integer kpdvet GRIB1 parameter number of vegetation type.
integer kpdvmn GRIB1 parameter number of minimum vegetation greenness.
integer kpdvmx GRIB1 parameter number of maximum vegetation greenness.
integer kpdwet GRIB1 parameter number of soil wetness.
integer kpdzor GRIB1 parameter number of physical snow depth.
integer, parameter mdata Maximum number of input data points.
integer soil_type_landice Soil type category at permanent land-ice points.
integer veg_type_landice Vegetation type category at permanent land-ice points.
integer, parameter xdata Maximum 'i' dimension of input data.
integer, parameter ydata Maximum 'j' dimension of input data.

Function/Subroutine Documentation

subroutine albocn ( real (kind=kind_io8), dimension(len,4)  albclm,
real (kind=kind_io8), dimension(len)  slmask,
real (kind=kind_io8)  albomx,
integer  len 
)

Set the albedo at open water points.

Parameters
[in,out]albclmAlbedo.
[in]slmaskThe land-sea-ice mask.
[in]albomxThe albedo at open water.
[in]lenNumber of model points to process.
Author
Shrinivas Moorthi NOAA/EMC

Definition at line 6625 of file sfcsub.F.

Referenced by sfccycle().

subroutine analy (   lugb,
  iy,
  im,
  id,
  ih,
real (kind=kind_io8)  fh,
  len,
  lsoil,
real (kind=kind_io8), dimension(len)  slmask,
character*500  fntsfa,
character*500  fnweta,
character*500  fnsnoa,
character*500  fnzora,
character*500  fnalba,
character*500  fnaisa,
character*500  fntg3a,
character*500  fnscva,
character*500  fnsmca,
character*500  fnstca,
character*500  fnacna,
character*500  fnvega,
character*500  fnveta,
character*500  fnsota,
  fnvmna,
  fnvmxa,
  fnslpa,
  fnabsa,
real (kind=kind_io8), dimension(len)  tsfanl,
real (kind=kind_io8), dimension(len)  wetanl,
real (kind=kind_io8), dimension(len)  snoanl,
real (kind=kind_io8), dimension(len)  zoranl,
real (kind=kind_io8), dimension(len,4)  albanl,
real (kind=kind_io8), dimension(len)  aisanl,
real (kind=kind_io8), dimension(len)  tg3anl,
real (kind=kind_io8), dimension (len)  cvanl,
real (kind=kind_io8), dimension(len)  cvbanl,
real (kind=kind_io8), dimension(len)  cvtanl,
real (kind=kind_io8), dimension(len,lsoil)  smcanl,
real (kind=kind_io8), dimension(len,lsoil)  stcanl,
real (kind=kind_io8), dimension(len)  slianl,
real (kind=kind_io8), dimension(len)  scvanl,
real (kind=kind_io8), dimension(len)  acnanl,
real (kind=kind_io8), dimension(len)  veganl,
real (kind=kind_io8), dimension(len)  vetanl,
real (kind=kind_io8), dimension(len)  sotanl,
real (kind=kind_io8), dimension(len,2)  alfanl,
real (kind=kind_io8), dimension(len)  tsfan0,
  vmnanl,
  vmxanl,
  slpanl,
  absanl,
  kpdtsf,
  kpdwet,
  kpdsno,
  kpdsnd,
  kpdzor,
integer, dimension(4)  kpdalb,
  kpdais,
  kpdtg3,
  kpdscv,
  kpdacn,
  kpdsmc,
  kpdstc,
  kpdveg,
  kprvet,
  kpdsot,
integer, dimension(2)  kpdalf,
  kpdvmn,
  kpdvmx,
  kpdslp,
  kpdabs,
  irttsf,
  irtwet,
integer  irtsno,
integer  irtzor,
integer  irtalb,
integer  irtais,
integer  irttg3,
integer  irtscv,
integer  irtacn,
integer  irtsmc,
integer  irtstc,
integer  irtveg,
integer  irtvet,
integer  irtsot,
integer  irtalf,
  irtvmn,
  irtvmx,
  irtslp,
  irtabs,
  imsk,
  jmsk,
real (kind=kind_io8), dimension(imsk,jmsk)  slmskh,
real (kind=kind_io8), dimension(len)  outlat,
real (kind=kind_io8), dimension(len)  outlon,
logical  gaus,
real (kind=kind_io8)  blno,
real (kind=kind_io8)  blto,
integer  me,
logical  lanom 
)

Read analysis fields.

Parameters
[in]lugbFortran unit number for analysis files.
[in]iyCycle year.
[in]imCycle month.
[in]idCycle day.
[in]ihCycle hour.
[in]fhForecast hour.
[in]lenNumber of model points to process.
[in]lsoilNumber of soil layers.
[in]slmaskModel land-sea mask.
[in]fntsfaSST analysis file.
[in]fnwetaSoil wetness analysis file.
[in]fnsnoaSnow analysis file
[in]fnzoraRoughness length analysis file.
[in]fnalbaSnow-free albedo analysis file.
[in]fnaisaSea ice mask analysis file.
[in]fntg3aSoil substrate analysis file.
[in]fnscvaSnow cover analysis file.
[in]fnsmcaSoil moisture analysis file.
[in]fnstcaSoil temperature analysis file.
[in]fnacnaSea ice concentration analysis file.
[in]fnvegaVegetation greenness analysis file.
[in]fnvetaVegetation type analysis file.
[in]fnsotaSoil type analysis file.
[in]fnvmnaMinimum vegetation greenness analysis file.
[in]fnvmxaMaximum vegetation greenness analysis file.
[in]fnslpaSlope type analysis file.
[in]fnabsaMaximum snow albedo analysis file.
[out]tsfanlSkin temperature/SST analysis on model grid.
[out]wetanlSoil wetness analysis on model grid.
[out]snoanlSnow analysis on model grid.
[out]zoranlRoughness length analysis on model grid.
[out]albanlSnow-free albedo analysis on model grid.
[out]aisanlSea ice mask analysis on model grid.
[out]tg3anlSoil substrate analysis on model grid.
[out]cvanlConvective cloud cover analysis on model grid.
[out]cvbanlConvective cloud base analysis on model grid.
[out]cvtanlConvective cloud top analysis on model grid.
[out]smcanlSoil moisture analysis on model grid.
[out]stcanlSoil temperature analysis on model grid.
[out]slianlNot used.
[out]scvanlSnow cover analysis on model grid.
[out]acnanlSea ice concentration analysis on model grid.
[out]veganlVegetation greenness analysis on model grid.
[out]vetanlVegetation type analysis on model grid.
[out]sotanlSoil type analysis on model grid.
[out]alfanlAnalysis of fraction for strongly and weakly zenith angle dependent albedo on model grid.
[out]tsfan0SST analysis at forecast hour 0 on model grid.
[out]vmnanlMinimum vegetation greenness analysis on model grid.
[out]vmxanlMaximum vegetation greenness analysis on model grid.
[out]slpanlSlope type analysis on model grid.
[out]absanlMaximum snow albedo analysis on model grid.
[in]kpdtsfGrib parameter number of skin temperature/SST.
[in]kpdwetGrib parameter number of soil wetness.
[in]kpdsnoGrib parameter number of liquid equivalent snow depth.
[in]kpdsndGrib parameter number of physical snow depth.
[in]kpdzorGrib parameter number of roughness length.
[in]kpdalbGrib parameter number of snow-free albedo.
[in]kpdaisGrib parameter number of sea ice mask.
[in]kpdtg3Grib parameter number of soil substrate temperature.
[in]kpdscvGrib parameter number of snow cover.
[in]kpdacnGrib parameter number of sea ice concentration.
[in]kpdsmcGrib parameter number of soil moisture.
[in]kpdstcGrib parameter number of soil temperature.
[in]kpdvegGrib parameter number of vegetation greenness.
[in]kprvetGrib parameter number of vegetation type.
[in]kpdsotGrib parameter number of soil type.
[in]kpdalfGrib parameter number for fraction for strongly and weakly zenith angle dependent albedo.
[in]kpdvmnGrib parameter number of minimum vegetation greenness.
[in]kpdvmxGrib parameter number of maximum vegetation greenness.
[in]kpdslpGrib parameter number of slope type.
[in]kpdabsGrib parameter number of maximum snow albedo.
[out]irttsfReturn code from read of skin temperature/SST analysis file.
[out]irtwetReturn code from read of soil wetness analysis file.
[out]irtsnoReturn code from read of snow analysis file.
[out]irtzorReturn code from read of roughness length file.
[out]irtalbReturn code from read of snow-free albedo analysis file.
[out]irtaisReturn code from read of ice mask analysis file.
[out]irttg3Return code from read of soil substrate temperature analysis file.
[out]irtscvReturn code from read of snow cover analysis file.
[out]irtacnReturn code from read of sea ice concentration analysis file.
[out]irtsmcReturn code from read of soil moisture analysis file.
[out]irtstcReturn code from read of soil temperature analysis file.
[out]irtvegReturn code from read of vegetation greenness analysis file.
[out]irtvetReturn code from read of vegetation type analysis file.
[out]irtsotReturn code from read of soil type analysis file.
[out]irtalfReturn code from read of file containing fraction for strongly and weakly zenith angle dependent albedo.
[out]irtvmnReturn code from read of minimum vegetation greenness analysis file.
[out]irtvmxReturn code from read of maximum vegetation greenness analysis file.
[out]irtslpReturn code from read of slope type analysis file.
[out]irtabsReturn code from read of maximum snow albedo analysis file.
[in]imsk'i' dimension of the high-res mask used for analysis data without a bitmap.
[in]jmsk'j' dimension of the high-res mask used for analysis data without a bitmap.
[in]slmskhThe high-resolution mask used for analysis data without a bitmap.
[in]outlatModel latitudes
[in]outlonModel longitudes
[in]gausWhen true, the high-res mask is on a gaussian grid.
[in]blnoCorner point longitude of the high-res mask.
[in]bltoCorner point latitude of the high-res mask.
[in]meMPI task number.
[in]lanomWhen true, do sst anomaly interpolation.
Author
Shrinivas Moorthi

Definition at line 4072 of file sfcsub.F.

References fixrda().

Referenced by sfccycle().

subroutine anomint ( real (kind=kind_io8), dimension(len)  tsfan0,
real (kind=kind_io8), dimension(len)  tsfclm,
real (kind=kind_io8), dimension(len)  tsfcl0,
real (kind=kind_io8), dimension(len)  tsfanl,
integer  len 
)

Add initial SST anomaly to date interpolated climatology.

Parameters
[in]tsfan0Skin temperature/SST analysis at initial time.
[in]tsfclmSkin temperature/SST climatology.
[in]tsfcl0Skin temperature/SST climatology at initial time.
[out]tsfanlUpdated skin temperature/SST.
[in]lenNumber of model points to process.
Author
Shrinivas Moorthi

Definition at line 7699 of file sfcsub.F.

Referenced by sfccycle().

subroutine clima ( integer  lugb,
integer  iy,
integer  im,
integer  id,
integer  ih,
real (kind=kind_io8)  fh,
integer  len,
integer  lsoil,
real (kind=kind_io8), dimension(len)  slmask,
character*500  fntsfc,
character*500  fnwetc,
character*500  fnsnoc,
character*500  fnzorc,
character*500  fnalbc,
character*500  fnaisc,
character*500  fntg3c,
character*500  fnscvc,
character*500  fnsmcc,
character*500  fnstcc,
character*500  fnacnc,
character*500  fnvegc,
character*500  fnvetc,
character*500  fnsotc,
character*500  fnvmnc,
character*500  fnvmxc,
character*500  fnslpc,
character*500  fnabsc,
real (kind=kind_io8), dimension(len)  tsfclm,
real (kind=kind_io8), dimension(len)  tsfcl2,
real (kind=kind_io8), dimension(len)  wetclm,
real (kind=kind_io8), dimension(len)  snoclm,
real (kind=kind_io8), dimension(len)  zorclm,
real (kind=kind_io8), dimension(len,4)  albclm,
real (kind=kind_io8), dimension(len)  aisclm,
real (kind=kind_io8), dimension(len)  tg3clm,
real (kind=kind_io8), dimension (len)  cvclm,
real (kind=kind_io8), dimension(len)  cvbclm,
real (kind=kind_io8), dimension(len)  cvtclm,
real (kind=kind_io8), dimension(len)  cnpclm,
real (kind=kind_io8), dimension(len,lsoil)  smcclm,
real (kind=kind_io8), dimension(len,lsoil)  stcclm,
real (kind=kind_io8), dimension(len)  sliclm,
real (kind=kind_io8), dimension(len)  scvclm,
real (kind=kind_io8), dimension(len)  acnclm,
real (kind=kind_io8), dimension(len)  vegclm,
real (kind=kind_io8), dimension(len)  vetclm,
real (kind=kind_io8), dimension(len)  sotclm,
real (kind=kind_io8), dimension(len,2)  alfclm,
real (kind=kind_io8), dimension(len)  vmnclm,
real (kind=kind_io8), dimension(len)  vmxclm,
real (kind=kind_io8), dimension(len)  slpclm,
real (kind=kind_io8), dimension(len)  absclm,
integer  kpdtsf,
integer  kpdwet,
integer  kpdsno,
integer  kpdzor,
integer, dimension(4)  kpdalb,
integer  kpdais,
integer  kpdtg3,
integer  kpdscv,
integer  kpdacn,
integer  kpdsmc,
integer  kpdstc,
integer  kpdveg,
integer  kpdvet,
integer  kpdsot,
integer, dimension(2)  kpdalf,
real (kind=kind_io8), dimension(len)  tsfcl0,
integer  kpdvmn,
integer  kpdvmx,
integer  kpdslp,
integer  kpdabs,
real (kind=kind_io8)  deltsfc,
logical  lanom,
integer  imsk,
integer  jmsk,
real (kind=kind_io8), dimension(imsk,jmsk)  slmskh,
real (kind=kind_io8), dimension(len)  outlat,
real (kind=kind_io8), dimension(len)  outlon,
logical  gaus,
real (kind=kind_io8)  blno,
real (kind=kind_io8)  blto,
integer  me,
logical  lprnt,
integer  iprnt,
character*500  fnalbc2,
integer  ialb,
character(len=*), intent(in)  tile_num_ch,
integer, dimension(len), intent(in)  i_index,
integer, dimension(len), intent(in)  j_index 
)

Driver routine that reads in climatological data for a given time, and, if necessary, interpolates it to the model grid.

Parameters
[in]lugbFortran unit number of GRIB1 climatological data.
[in]iyCycle year.
[in]imCycle month.
[in]idCycle day.
[in]ihCycle hour.
[in]fhForecast hour.
[in]lenNumber of model points to process.
[in]lsoilNumber of soil layers.
[in]slmaskModel land-sea-ice mask.
[in]fntsfcClimatological SST file.
[in]fnwetcClimatological soil wetness file.
[in]fnsnocClimatological snow depth file.
[in]fnzorcClimatological roughness length file. Or 'igbp' to use igbp vegetation type lookup table. Or 'sib' to use sib vegeation type lookup table.
[in]fnalbcClimatological snow-free albedo file.
[in]fnaiscClimatological sea ice mask file.
[in]fntg3cClimatological soil substrate temperature file.
[in]fnscvcClimatological snow cover file.
[in]fnsmccClimatological soil moisture file.
[in]fnstccClimatological soil temperature file.
[in]fnacncClimatological sea ice concentration file.
[in]fnvegcClimatological vegetation greenness file.
[in]fnvetcClimatological vegetation type file.
[in]fnsotcClimatological soil type file.
[in]fnvmncClimatological minimum vegetation greenness file.
[in]fnvmxcClimatological maximum vegetation greenness file.
[in]fnslpcClimatological slope type file.
[in]fnabscClimatological maximum snow albedo file.
[out]tsfclmClimatological skin temperature/SST on model grid.
[out]tsfcl2Climatological skin temperature/SST on model grid at time minus deltsfc.
[out]wetclmClimatological soil wetness on model grid.
[out]snoclmClimatological liquid equivalent snow depth on model grid.
[out]zorclmClimatological roughness length on model grid.
[out]albclmClimatological snow-free albedo on model grid.
[out]aisclmClimatological sea ice mask on model grid.
[out]tg3clmClimatological soil substrate temperature on model grid.
[out]cvclmClimatological convective cloud cover on model grid.
[out]cvbclmClimatological convective cloud base on model grid.
[out]cvtclmClimatological convective cloud top on model grid.
[out]cnpclmClimatological canopy water content on model grid.
[out]smcclmClimatological soil moisture on model grid.
[out]stcclmClimatologcial soil temperature on model grid.
[out]sliclmClimatological model land-sea-ice mask.
[out]scvclmClimatological snow cover on model grid.
[out]acnclmClimatological sea ice concentration on model grid.
[out]vegclmClimatological vegetation greenness on model grid.
[out]vetclmClimatological vegetation type on model grid.
[out]sotclmClimatological soil type on model grid.
[out]alfclmClimatological fraction for strongly and weakly zenith angle dependent albedo on model grid.
[out]vmnclmClimatological minimum vegetation greenness on model grid.
[out]vmxclmClimatological maximum vegetation greenness on model grid.
[out]slpclmClimatological slope type on model grid.
[out]absclmClimatological maximum snow albedo on model grid.
[in]kpdtsfGrib parameter number of skin temperature/SST.
[in]kpdwetGrib parameter number of soil wetness.
[in]kpdsnoGrib parameter number of liquid equivalent snow depth.
[in]kpdzorGrib parameter number of roughness length.
[in]kpdalbGrib parameter number of snow-free albedo.
[in]kpdaisGrib parameter number of sea ice mask.
[in]kpdtg3Grib parameter number of soil substrate temperature.
[in]kpdscvGrib parameter number of snow cover.
[in]kpdacnGrib parameter number of sea ice concentration.
[in]kpdsmcGrib parameter number of soil moisture.
[in]kpdstcGrib parameter number of soil temperature.
[in]kpdvegGrib parameter number of vegetation greenness.
[in]kpdvetGrib parameter number of vegetation type.
[in]kpdsotGrib parameter number of soil type.
[in]kpdalfGrib parameter number for fraction for strongly and weakly zenith angle dependent albedo.
[in]tsfcl0Climatological SST at forecast hour 0.
[in]kpdvmnGrib parameter number of minimum vegetation greenness.
[in]kpdvmxGrib parameter number of maximum vegetation greenness.
[in]kpdslpGrib parameter number of slope type.
[in]kpdabsGrib parameter number of maximum snow albedo.
[in]deltsfcCycling frequency in hours.
[in]lanomWhen true, do sst anomaly interpolation.
[in]imsk'i' dimension of the high-res mask used for climatological data without a bitmap.
[in]jmsk'j' dimension of the high-res mask used for climatological data without a bitmap.
[in]slmskhThe high-resolution mask used for climatological data without a bitmap.
[in]outlatModel latitudes
[in]outlonModel longitudes
[in]gausWhen true, the high-res mask is on a gaussian grid.
[in]blnoCorner point longitude of the high-res mask.
[in]bltoCorner point latitude of the high-res mask.
[in]meMPI task number.
[in]lprntTurn of diagnostic print.
[in]iprntIndex of diagnotic print point.
[in]fnalbc2File containing climatological fraction for strongly and weakly zenith angle dependent albedo.
[in]ialbUse modis albedo when '1'. Use brigleb when '0'.
[in]tile_num_chModel tile number to process.
[in]i_indexThe 'i' indices of the model grid to process.
[in]j_indexThe 'j' indices of the model grid to process.
Author
Shrinivas Moorthi NOAA/EMC

Definition at line 7828 of file sfcsub.F.

References fixrdc(), and fixrdc_tile().

Referenced by sfccycle().

subroutine count ( real (kind=kind_io8), dimension(1)  slimsk,
real (kind=kind_io8), dimension(1)  sno,
integer  ijmax 
)

Counts the number of model points that are snow covered land, snow-free land, open water, sea ice, and snow covered sea ice.

Parameters
[in]slimskThe land-sea-ice mask.
[in]snoSnow
[in]ijmaxNumber of model points to process.
Author
Shrinivas Moorthi NOAA/EMC

Definition at line 2626 of file sfcsub.F.

Referenced by fixrdc_tile(), and read_write_data::read_salclm_gfs_nc().

subroutine dayoyr ( integer  iyr,
integer  imo,
integer  idy,
integer  ldy 
)

Compute day of the year based on month and day.

Parameters
[in]iyrYear.
[in]imoMonth.
[in]idyDay.
[out]ldyDay of the year.
Author
Mark Iredell NOAA/EMC

Definition at line 2761 of file sfcsub.F.

subroutine filanl ( real (kind=kind_io8), dimension(len)  tsfanl,
real (kind=kind_io8), dimension(len)  tsfan2,
real (kind=kind_io8), dimension(len)  wetanl,
real (kind=kind_io8), dimension(len)  snoanl,
real (kind=kind_io8), dimension(len)  zoranl,
real (kind=kind_io8), dimension(len,4)  albanl,
real (kind=kind_io8), dimension(len)  aisanl,
real (kind=kind_io8), dimension(len)  tg3anl,
real (kind=kind_io8), dimension (len)  cvanl,
real (kind=kind_io8), dimension(len)  cvbanl,
real (kind=kind_io8), dimension(len)  cvtanl,
real (kind=kind_io8), dimension(len)  cnpanl,
real (kind=kind_io8), dimension(len,lsoil)  smcanl,
real (kind=kind_io8), dimension(len,lsoil)  stcanl,
real (kind=kind_io8), dimension(len)  slianl,
real (kind=kind_io8), dimension(len)  scvanl,
real (kind=kind_io8), dimension(len)  veganl,
real (kind=kind_io8), dimension(len)  vetanl,
real (kind=kind_io8), dimension(len)  sotanl,
real (kind=kind_io8), dimension(len,2)  alfanl,
  sihanl,
  sicanl,
  vmnanl,
  vmxanl,
  slpanl,
  absanl,
real (kind=kind_io8), dimension(len)  tsfclm,
real (kind=kind_io8), dimension(len)  tsfcl2,
real (kind=kind_io8), dimension(len)  wetclm,
real (kind=kind_io8), dimension(len)  snoclm,
real (kind=kind_io8), dimension(len)  zorclm,
real (kind=kind_io8), dimension(len,4)  albclm,
real (kind=kind_io8), dimension(len)  aisclm,
real (kind=kind_io8), dimension(len)  tg3clm,
real (kind=kind_io8), dimension (len)  cvclm,
real (kind=kind_io8), dimension(len)  cvbclm,
real (kind=kind_io8), dimension(len)  cvtclm,
real (kind=kind_io8), dimension(len)  cnpclm,
real (kind=kind_io8), dimension(len,lsoil)  smcclm,
real (kind=kind_io8), dimension(len,lsoil)  stcclm,
real (kind=kind_io8), dimension(len)  sliclm,
real (kind=kind_io8), dimension(len)  scvclm,
real (kind=kind_io8), dimension(len)  vegclm,
real (kind=kind_io8), dimension(len)  vetclm,
real (kind=kind_io8), dimension(len)  sotclm,
real (kind=kind_io8), dimension(len,2)  alfclm,
  sihclm,
  sicclm,
  vmnclm,
  vmxclm,
  slpclm,
  absclm,
integer  len,
integer  lsoil 
)

Fill in analysis arrays with climatology before reading analysis data.

Parameters
[out]tsfanlSkin temperature/SST analysis on model grid.
[out]tsfan2Skin temperature/SST analysis on model grid at time minus deltsfc.
[out]wetanlSoil wetness analysis on model grid.
[out]snoanlLiquid equivalent snow depth analysis on model grid.
[out]zoranlRoughness length analysis on model grid.
[out]albanlSnow-free albedo analysis on model grid.
[out]aisanlSea ice mask analysis on model grid.
[out]tg3anlSoil substrate temperature analysis on model grid.
[out]cvanlConvective cloud cover analysis on model grid.
[out]cvbanlConvective cloud base analysis on model grid.
[out]cvtanlConvective cloud top analysis on model grid.
[out]cnpanlCanopy water content analysis on model grid.
[out]smcanlSoil moisture analysis on model grid.
[out]stcanlSoil temperature analysis on model grid.
[out]slianlLand-sea-ice mask analysis on model grid.
[out]scvanlSnow cover analysis on model grid.
[out]veganlVegetation greenness analysis on model grid.
[out]vetanlVegetation type analysis on model grid.
[out]sotanlSoil type analysis on model grid.
[out]alfanlFraction for strongly and weakly zenith angle dependent albedo analysis on model grid.
[out]sihanlSea ice depth analysis on model grid.
[out]sicanlSea ice concentration analysis on model grid.
[out]vmnanlMinimum vegetation greenness analysis on model grid.
[out]vmxanlMaximum vegetation greenness analysis on model grid.
[out]slpanlSlope type analysis on model grid.
[out]absanlMaximum snow albedo analysis on model grid.
[in]tsfclmClimatological skin temperature/SST on model grid.
[in]tsfcl2Climatological skin temperature/SST on model grid at time minus deltsfc.
[in]wetclmClimatological soil wetness on model grid.
[in]snoclmClimatological liquid equivalent snow depth on model grid.
[in]zorclmClimatological roughness length on model grid.
[in]albclmClimatological snow-free albedo on model grid.
[in]aisclmClimatological sea ice mask on model grid.
[in]tg3clmClimatological soil substrate temperature on model grid.
[in]cvclmClimatological convective cloud cover on model grid.
[in]cvbclmClimatological convective cloud base on model grid.
[in]cvtclmClimatological convective cloud top on model grid.
[in]cnpclmClimatological canopy water content on model grid.
[in]smcclmClimatological soil moisture on model grid.
[in]stcclmClimatologcial soil temperature on model grid.
[in]sliclmClimatological model land-sea-ice mask.
[in]scvclmClimatological snow cover on model grid.
[in]vegclmClimatological vegetation greenness on model grid.
[in]vetclmClimatological vegetation type on model grid.
[in]sotclmClimatological soil type on model grid.
[in]alfclmClimatological fraction for strongly and weakly zenith angle dependent albedo on model grid.
[in]sihclmClimatological sea ice depth on the model grid.
[in]sicclmClimatological sea ice concentration on the model grid.
[in]vmnclmClimatological minimum vegetation greenness on model grid.
[in]vmxclmClimatological maximum vegetation greenness on model grid.
[in]slpclmClimatological slope type on model grid.
[in]absclmClimatological maximum snow albedo on model grid.
[in]lenNumber of model points to process.
[in]lsoilNumber of soil layers.
Author
Shrinivas Moorthi

Definition at line 3852 of file sfcsub.F.

Referenced by sfccycle().

subroutine filfcs ( real (kind=kind_io8), dimension(len)  tsffcs,
real (kind=kind_io8), dimension(len)  wetfcs,
real (kind=kind_io8), dimension(len)  snofcs,
real (kind=kind_io8), dimension(len)  zorfcs,
real (kind=kind_io8), dimension(len,4)  albfcs,
real (kind=kind_io8), dimension(len)  tg3fcs,
real (kind=kind_io8), dimension (len)  cvfcs,
real (kind=kind_io8), dimension(len)  cvbfcs,
real (kind=kind_io8), dimension(len)  cvtfcs,
real (kind=kind_io8), dimension(len)  cnpfcs,
real (kind=kind_io8), dimension(len,lsoil)  smcfcs,
real (kind=kind_io8), dimension(len,lsoil)  stcfcs,
real (kind=kind_io8), dimension(len)  slifcs,
real (kind=kind_io8), dimension(len)  aisfcs,
real (kind=kind_io8), dimension(len)  vegfcs,
real (kind=kind_io8), dimension(len)  vetfcs,
real (kind=kind_io8), dimension(len)  sotfcs,
real (kind=kind_io8), dimension(len,2)  alffcs,
  sihfcs,
  sicfcs,
  vmnfcs,
  vmxfcs,
  slpfcs,
  absfcs,
real (kind=kind_io8), dimension(len)  tsfanl,
real (kind=kind_io8), dimension(len)  wetanl,
real (kind=kind_io8), dimension(len)  snoanl,
real (kind=kind_io8), dimension(len)  zoranl,
real (kind=kind_io8), dimension(len,4)  albanl,
real (kind=kind_io8), dimension(len)  tg3anl,
real (kind=kind_io8), dimension (len)  cvanl,
real (kind=kind_io8), dimension(len)  cvbanl,
real (kind=kind_io8), dimension(len)  cvtanl,
real (kind=kind_io8), dimension(len)  cnpanl,
real (kind=kind_io8), dimension(len,lsoil)  smcanl,
real (kind=kind_io8), dimension(len,lsoil)  stcanl,
real (kind=kind_io8), dimension(len)  slianl,
real (kind=kind_io8), dimension(len)  aisanl,
real (kind=kind_io8), dimension(len)  veganl,
real (kind=kind_io8), dimension(len)  vetanl,
real (kind=kind_io8), dimension(len)  sotanl,
real (kind=kind_io8), dimension(len,2)  alfanl,
  sihanl,
  sicanl,
  vmnanl,
  vmxanl,
  slpanl,
  absanl,
integer  len,
integer  lsoil 
)

Fill in model grid guess arrays with analysis values if this is a dead start.

All fields are on the model grid.

Parameters
[out]tsffcsFirst guess skin temperature/SST analysis.
[out]wetfcsFirst guess soil wetness.
[out]snofcsFirst guess liquid equivalent snow depth.
[out]zorfcsFirst guess roughness length.
[out]albfcsFirst guess snow-free albedo.
[out]tg3fcsFirst guess soil substrate temperature.
[out]cvfcsFirst guess cloud cover.
[out]cvbfcsFirst guess convective cloud bottom.
[out]cvtfcsFirst guess convective cloud top.
[out]cnpfcsFirst guess canopy water content.
[out]smcfcsFirst guess soil moisture.
[out]stcfcsFirst guess soil temperature.
[out]slifcsFirst guess land-sea-ice mask.
[out]aisfcsFirst guess sea ice mask.
[out]vegfcsFirst guess vegetation greenness.
[out]vetfcsFirst guess vegetation type.
[out]sotfcsFirst guess soil type.
[out]alffcsFirst guess of fraction for strongly and weakly zenith angle dependent albedo.
[out]sihfcsFirst guess sea ice depth.
[out]sicfcsFirst guess sea ice concentration.
[out]vmnfcsFirst guess minimum greenness fraction.
[out]vmxfcsFirst guess maximum greenness fraction.
[out]slpfcsFirst guess slope type.
[out]absfcsFirst guess maximum snow albedo analysis.
[in]tsfanlSkin temperature/SST analysis.
[in]wetanlSoil wetness analysis.
[in]snoanlLiquid equivalent snow depth analysis.
[in]zoranlRoughness length analysis.
[in]albanlSnow-free albedo analysis.
[in]tg3anlSoil substrate temperature analysis.
[in]cvanlConvective cloud cover analysis.
[in]cvbanlConvective cloud base analysis.
[in]cvtanlConvective cloud top analysis.
[in]cnpanlCanopy water content analysis.
[in]smcanlSoil moisture analysis.
[in]stcanlSoil temperature analysis.
[in]slianlLand-sea-ice mask analysis.
[in]aisanlSea ice mask analysis.
[in]veganlVegetation greenness analysis.
[in]vetanlVegetation type analysis.
[in]sotanlSoil type analysis.
[in]alfanlAnalysis of fraction for strongly and weakly zenith angle dependent albedo.
[in]sihanlSea ice depth analysis.
[in]sicanlSea ice concentration analysis.
[in]vmnanlMinimum greenness fraction analysis.
[in]vmxanlMaximum greenness fraction analysis.
[in]slpanlSlope type analysis.
[in]absanlMaximum snow albedo analysis.
[in]lenNumber of model points to process.
[in]lsoilNumber of soil layers.
Author
Shrinivas Moorthi

Definition at line 4793 of file sfcsub.F.

Referenced by sfccycle().

subroutine fixrda ( integer  lugb,
character*500  fngrib,
integer  kpds5,
real (kind=kind_io8), dimension(len)  slmask,
integer  iy,
integer  im,
integer  id,
integer  ih,
real (kind=kind_io8)  fh,
real (kind=kind_io8), dimension(len)  gdata,
integer  len,
integer  iret,
integer  imsk,
integer  jmsk,
real (kind=kind_io8), dimension(imsk,jmsk)  slmskh,
logical  gaus,
real (kind=kind_io8)  blno,
real (kind=kind_io8)  blto,
real (kind=kind_io8), dimension(len)  outlat,
real (kind=kind_io8), dimension(len)  outlon,
integer  me 
)

Read in grib1 analysis data for the requested date and horizontally interpolate to the model grid.

If data not found for the requested date, a backwards search is performed.

Parameters
[in]lugbFortran unit number of the grib1 analysis data file.
[in]fngribThe name of the grib1 analysis data file.
[in]kpds5The grib1 parameter number of the requested data.
[in]slmaskModel land-sea-ice mask.
[in]iyYear.
[in]imMonth.
[in]idDay.
[in]ihHour.
[in]fhForecast hour.
[out]gdataThe analysis data interpolated to the model grid.
[in]lenThe number of model points to process.
[in]iretReturn code. '0' is success.
[in]imsk'i' dimension of the high-res mask used for input analysis data without a bitmap.
[in]jmsk'j' dimension of the high-res mask used for input analysis data without a bitmap.
[in]slmskhThe high-resolution mask used for input analysis data witouth a bitmap.
[in]gausWhen true, the high-res mask is on a gaussian grid.
[in]blnoCorner point longitude of the high-res mask.
[in]bltoCorner point latitude of the high-res mask.
[in]outlatModel latitudes.
[in]outlonModel longitudes.
[in]meMPI task number
Author
Shrinivas Moorthi NOAA/EMC

Definition at line 9406 of file sfcsub.F.

References getarea(), la2ga(), setrmsk(), and subst().

Referenced by analy().

subroutine fixrdc ( integer  lugb,
character*500  fngrib,
integer  kpds5,
integer, intent(in)  kpds7,
integer  mon,
real (kind=kind_io8), dimension(len)  slmask,
real (kind=kind_io8), dimension(len)  gdata,
integer  len,
integer  iret,
integer  imsk,
integer  jmsk,
real (kind=kind_io8), dimension(imsk,jmsk)  slmskh,
logical  gaus,
real (kind=kind_io8)  blno,
real (kind=kind_io8)  blto,
real (kind=kind_io8), dimension(len)  outlat,
real (kind=kind_io8), dimension(len)  outlon,
integer  me 
)

Read in grib1 climatology data for a specific month and and horizontally interpolate to the model grid.

Parameters
[in]lugbFortran unit number of the grib1 climatology data file.
[in]fngribThe name of the grib1 climatology data file.
[in]kpds5The grib1 parameter number of the requested data.
[in]kpds7The grib1 level indicator of the requested data.
[in]monThe requested month.
[in]slmaskModel land-sea-ice mask.
[out]gdataThe climatology data interpolated to the model grid.
[in]lenThe number of model points to process.
[in]iretReturn code. '0' is success.
[in]imsk'i' dimension of the high-res mask used for input data without a bitmap.
[in]jmsk'j' dimension of the high-res mask used for input data without a bitmap.
[in]slmskhThe high-resolution mask used for input data witouth a bitmap.
[in]gausWhen true, the high-res mask is on a gaussian grid.
[in]blnoCorner point longitude of the high-res mask.
[in]bltoCorner point latitude of the high-res mask.
[in]outlatModel latitudes.
[in]outlonModel longitudes.
[in]meMPI task number
Author
Shrinivas Moorthi NOAA/EMC

Definition at line 9205 of file sfcsub.F.

References getarea(), la2ga(), setrmsk(), and subst().

Referenced by clima(), and sfccycle().

subroutine fixrdc_tile ( character(len=*), intent(in)  filename_raw,
character(len=*), intent(in)  tile_num_ch,
integer, dimension(npts), intent(in)  i_index,
integer, dimension(npts), intent(in)  j_index,
integer, intent(in)  kpds,
real(kind_io8), dimension(npts), intent(out)  var,
integer, intent(in)  mon,
integer, intent(in)  npts,
integer, intent(in)  me 
)

Reads in climatological data on the model grid tile for a given month.

Unlike fixrdc, this routine assumes the input data is already interpolated to the model tile. The climatological data must be NetCDF.

Parameters
[in]filename_rawThe name of the climatological file.
[in]tile_num_chThe tile number to be processed.
[in]i_indexThe 'i' indices of the model grid to process.
[in]j_indexThe 'j' indices of the model grid to process.
[in]kpdsParameter code for the data.
[out]varThe climatological data on the model grid.
[in]monWhich month of data to read.
[in]nptsNumber of model points to process.
[in]meMPI task number.
Author
George Gayno NOAA/EMC

Definition at line 9024 of file sfcsub.F.

References count(), and netcdf_err().

Referenced by clima().

subroutine fixrdg ( integer  lugb,
integer  idim,
integer  jdim,
character*(*)  fngrib,
integer  kpds5,
real (kind=kind_io8), dimension(idim*jdim)  gdata,
logical  gaus,
real (kind=kind_io8)  blno,
real (kind=kind_io8)  blto,
integer  me 
)

Read a GRIB1 file.

Return the requested data record and some grid specifications.

Parameters
[in]lugbFortran unit number of the grib file.
[in,out]idim"i" dimension of the data.
[in,out]jdim"j" dimension of the data.
[in]fngribName of the grib file.
[in]kpds5The grib1 parameter number for the requested field.
[out]gdataThe requested data.
[out]gausWhen true, grid is gaussian.
[out]blnoCorner point longitude of grid.
[out]bltoCorner point latitude of grid.
[in]meMPI task number.
Author
Shrinivas Moorthi NOAA/EMC

Definition at line 2840 of file sfcsub.F.

Referenced by hmskrd().

subroutine ga2la ( real (kind=kind_io8), dimension (imxin,jmxin)  gauin,
integer  imxin,
integer  jmxin,
real (kind=kind_io8), dimension(imxout,jmxout)  regout,
integer  imxout,
integer  jmxout,
real (kind=kind_io8)  wlon,
real (kind=kind_io8)  rnlat,
real (kind=kind_io8), dimension(imxout)  rlnout,
real (kind=kind_io8), dimension(jmxout)  rltout,
logical  gaus,
real (kind=kind_io8)  blno,
real (kind=kind_io8)  blto 
)

Interpolation from lat/lon or gaussian grid to a lat/lon grid.

Parameters
[in]gauinInput data.
[in]imxin'i' dimension of input data.
[in]jmxin'j' dimension of input data.
[out]regoutOutput data.
[in]imxout'i' dimension of output data.
[in]jmxout'j' dimension of output data.
[in]wlonLongitude of west boundary of input data.
[in]rnlatLatitude of north row of input data.
[in]rlnoutLongitudes on output data grid.
[in]rltoutLatitudes on output data grid.
[in]gausIs input data on gaussian grid?
[in]blnoCorner point longitude of input data.
[in]bltoCorner point latitude of input data.
Author
Shrinivas Moorthi

Definition at line 7388 of file sfcsub.F.

References num_parthds().

Referenced by setrmsk().

subroutine gaulat ( real (kind=kind_io8), dimension(k)  gaul,
integer  k 
)

Calculate gaussian latitudes.

Parameters
[out]gaulGaussian latitudes
[in]kNumber of latitudes
Author
Shrinivas Moorthi

Definition at line 7667 of file sfcsub.F.

subroutine getarea ( integer, dimension(22)  kgds,
real (kind=kind_io8)  dlat,
real (kind=kind_io8)  dlon,
real (kind=kind_io8)  rslat,
real (kind=kind_io8)  rnlat,
real (kind=kind_io8)  wlon,
real (kind=kind_io8)  elon,
logical  ijordr,
integer  me 
)

For a given GRIB1 grid description section array, determine some grid specifications.

Parameters
[in]kgdsGRIB1 grid description section array.
[out]dlatGrid resolution in the 'j' direction.
[out]dlonGrid resolution in the 'i' direction.
[out]rslatLatitude of the southern row of data.
[out]rnlatLatitude of the northern row of data.
[out]wlonLongitude of the western column of data.
[out]elonLongitude of the eastern column of data.
[out]ijordrWhen false, adjacent points in the 'i' direction are consecutive. Otherwise, 'j' points are consecutive.
[in]meMPI rank number.
Author
Shrinivas Moorthi NOAA/EMC

Definition at line 2970 of file sfcsub.F.

Referenced by fixrda(), and fixrdc().

subroutine getscv ( real (kind=kind_io8), dimension(len)  snofld,
real (kind=kind_io8), dimension(len)  scvfld,
integer  len 
)

Set snow cover flag based on snow depth.

Parameters
[in]snofldSnow depth.
[out]scvfldSnow cover.
[in]lenNumber of model points to process.
Author
Shrinivas Moorthi

Definition at line 6463 of file sfcsub.F.

Referenced by sfccycle().

subroutine getsmc ( real (kind=kind_io8), dimension(len)  wetfld,
integer  len,
integer  lsoil,
real (kind=kind_io8), dimension(len,lsoil)  smcfld,
integer  me 
)

Set soil moisture from soil wetness.

Parameters
[in]wetfldSoil wetness
[in]lenNumber of model points to process.
[in]lsoilNumber of soil layers.
[out]smcfldSoil moisture.
[in]meMPI task number.
Author
Shrinivas Moorthi

Definition at line 6529 of file sfcsub.F.

Referenced by sfccycle().

subroutine getstc ( real (kind=kind_io8), dimension(len)  tsffld,
real (kind=kind_io8), dimension(len)  tg3fld,
real (kind=kind_io8), dimension(len)  slifld,
integer  len,
integer  lsoil,
real (kind=kind_io8), dimension(len,lsoil)  stcfld,
real (kind=kind_io8)  tsfimx 
)

Set soil temperature and sea ice column temperature.

Parameters
[in]tsffldSkin temperature/SST.
[in]tg3fldSoil substrate temperature.
[in]slifldLand-sea-ice mask.
[in]lenNumber of model points to process.
[in]lsoilNumber of soil layers.
[out]stcfldSoil/sea ice column temperature.
[in]tsfimxFreezing point of sea water.
Author
Shrinivas Moorthi

Definition at line 6487 of file sfcsub.F.

Referenced by sfccycle(), and usesgt().

subroutine hmskrd ( integer  lugb,
integer  imsk,
integer  jmsk,
character*500  fnmskh,
integer  kpds5,
real (kind=kind_io8), dimension(mdata)  slmskh,
logical  gausm,
real (kind=kind_io8)  blnmsk,
real (kind=kind_io8)  bltmsk,
integer  me 
)

Read a high-resolution land mask.

It will be used as a surrogate for GRIB input data without a bitmap. This is NOT the model land mask. This mask file is GRIB1.

Parameters
[in]lugbFortran unit number of the mask file.
[out]imsk'i' dimension of the mask.
[out]jmsk'j' dimension of the mask.
[in]fnmskhName of the mask file.
[in]kpds5GRIB1 parameter number for mask.
[out]slmskhThe high-resolution mask.
[out]gausmWhen true, mask is on a gaussian grid.
[out]blnmskCorner point longitude of the mask grid.
[out]bltmskCorner point latitude of the mask grid.
[in]meMPI task number.
Author
Shrinivas Moorthi NOAA/EMC

Definition at line 2792 of file sfcsub.F.

References fixrdg().

Referenced by sfccycle().

subroutine la2ga ( real (kind=kind_io8), dimension (imxin,jmxin)  regin,
integer  imxin,
integer  jmxin,
real (kind=kind_io8), dimension(imxin)  rinlon,
real (kind=kind_io8), dimension(jmxin)  rinlat,
real (kind=kind_io8)  rlon,
real (kind=kind_io8)  rlat,
integer  inttyp,
real (kind=kind_io8), dimension(len)  gauout,
integer  len,
logical  lmask,
real (kind=kind_io8), dimension(imxin,jmxin)  rslmsk,
real (kind=kind_io8), dimension(len)  slmask,
real (kind=kind_io8), dimension(len)  outlat,
real (kind=kind_io8), dimension(len)  outlon,
integer  me 
)

Interpolate data from a lat/lon grid to the model grid.

Parameters
[in]reginInput data.
[in]imxin'i' dimension of input data.
[in]jmxin'j' dimension of input data.
[in]rinlon
[in]rinlat
[in]rlon
[in]rlat
[in]inttyp
[out]gauoutThe interpolated data on the model grid.
[in]lenNumber of model points to process.
[in]lmask
[in]rslmsk
[in]slmaskModel land-sea-ice mask.
[in]outlatLatitudes on the model grid.
[in]outlonLongitudes on the model grid.
[in]meMPI task number.
Author
Shrinivas Moorth

Definition at line 3210 of file sfcsub.F.

References num_parthds().

Referenced by fixrda(), and fixrdc().

subroutine landtyp ( real (kind=kind_io8), dimension(len)  vegtype,
real (kind=kind_io8), dimension(len)  soiltype,
real (kind=kind_io8), dimension(len)  slptype,
real (kind=kind_io8), dimension(len)  slmask,
integer  len 
)

Set vegetation, soil and slope type at undefined model points.

Parameters
[in,out]vegtypeVegetation type
[in,out]soiltypeSoil type
[in,out]slptypeSlope type
[in]slmaskLand-sea-ice mask.
[in]lenNumber of model points to process.
Author
Shrinivas Moorthi

Definition at line 7643 of file sfcsub.F.

Referenced by sfccycle().

subroutine maxmin ( real (kind=kind_io8), dimension(imax,kmax)  f,
integer  imax,
integer  kmax 
)

Compute the maxmimum and minimum of a field.

Parameters
[in]fThe field to check.
[in]imaxThe horizontal dimension of the field.
[in]kmaxNumber of vertical levels of the field.
Author
Shrinivas Moorthi

Definition at line 3752 of file sfcsub.F.

subroutine merge ( integer  len,
integer  lsoil,
integer  iy,
integer  im,
integer  id,
integer  ih,
real (kind=kind_io8)  fh,
real (kind=kind_io8)  deltsfc,
real (kind=kind_io8), dimension(len)  sihfcs,
real (kind=kind_io8), dimension(len)  sicfcs,
real (kind=kind_io8), dimension(len)  vmnfcs,
real (kind=kind_io8), dimension(len)  vmxfcs,
real (kind=kind_io8), dimension(len)  slpfcs,
real (kind=kind_io8), dimension(len)  absfcs,
real (kind=kind_io8), dimension(len)  tsffcs,
real (kind=kind_io8), dimension(len)  wetfcs,
real (kind=kind_io8), dimension(len)  snofcs,
real (kind=kind_io8), dimension(len)  zorfcs,
real (kind=kind_io8), dimension(len,4)  albfcs,
real (kind=kind_io8), dimension(len)  aisfcs,
real (kind=kind_io8), dimension (len)  cvfcs,
real (kind=kind_io8), dimension(len)  cvbfcs,
real (kind=kind_io8), dimension(len)  cvtfcs,
real (kind=kind_io8), dimension(len)  cnpfcs,
real (kind=kind_io8), dimension(len,lsoil)  smcfcs,
real (kind=kind_io8), dimension(len,lsoil)  stcfcs,
real (kind=kind_io8), dimension(len)  slifcs,
real (kind=kind_io8), dimension(len)  vegfcs,
real (kind=kind_io8), dimension(len)  vetfcs,
real (kind=kind_io8), dimension(len)  sotfcs,
real (kind=kind_io8), dimension(len,2)  alffcs,
real (kind=kind_io8), dimension(len)  sihanl,
real (kind=kind_io8), dimension(len)  sicanl,
real (kind=kind_io8), dimension(len)  vmnanl,
real (kind=kind_io8), dimension(len)  vmxanl,
real (kind=kind_io8), dimension(len)  slpanl,
real (kind=kind_io8), dimension(len)  absanl,
real (kind=kind_io8), dimension(len)  tsfanl,
real (kind=kind_io8), dimension(len)  tsfan2,
real (kind=kind_io8), dimension(len)  wetanl,
real (kind=kind_io8), dimension(len)  snoanl,
real (kind=kind_io8), dimension(len)  zoranl,
real (kind=kind_io8), dimension(len,4)  albanl,
real (kind=kind_io8), dimension(len)  aisanl,
real (kind=kind_io8), dimension (len)  cvanl,
real (kind=kind_io8), dimension(len)  cvbanl,
real (kind=kind_io8), dimension(len)  cvtanl,
real (kind=kind_io8), dimension(len)  cnpanl,
real (kind=kind_io8), dimension(len,lsoil)  smcanl,
real (kind=kind_io8), dimension(len,lsoil)  stcanl,
real (kind=kind_io8), dimension(len)  slianl,
real (kind=kind_io8), dimension(len)  veganl,
real (kind=kind_io8), dimension(len)  vetanl,
real (kind=kind_io8), dimension(len)  sotanl,
real (kind=kind_io8), dimension(len,2)  alfanl,
real (kind=kind_io8)  ctsfl,
real (kind=kind_io8)  calbl,
real (kind=kind_io8)  caisl,
real (kind=kind_io8)  csnol,
real (kind=kind_io8), dimension(lsoil)  csmcl,
real (kind=kind_io8)  czorl,
real (kind=kind_io8), dimension(lsoil)  cstcl,
real (kind=kind_io8)  cvegl,
real (kind=kind_io8)  ctsfs,
real (kind=kind_io8)  calbs,
real (kind=kind_io8)  caiss,
real (kind=kind_io8)  csnos,
real (kind=kind_io8), dimension(lsoil)  csmcs,
real (kind=kind_io8)  czors,
real (kind=kind_io8), dimension(lsoil)  cstcs,
real (kind=kind_io8)  cvegs,
real (kind=kind_io8)  ccv,
real (kind=kind_io8)  ccvb,
real (kind=kind_io8)  ccvt,
real (kind=kind_io8)  ccnp,
real (kind=kind_io8)  cvetl,
real (kind=kind_io8)  cvets,
real (kind=kind_io8)  csotl,
real (kind=kind_io8)  csots,
real (kind=kind_io8)  calfl,
real (kind=kind_io8)  calfs,
real (kind=kind_io8)  csihl,
real (kind=kind_io8)  csihs,
real (kind=kind_io8)  csicl,
real (kind=kind_io8)  csics,
real (kind=kind_io8)  cvmnl,
real (kind=kind_io8)  cvmns,
real (kind=kind_io8)  cvmxl,
real (kind=kind_io8)  cvmxs,
real (kind=kind_io8)  cslpl,
real (kind=kind_io8)  cslps,
real (kind=kind_io8)  cabsl,
real (kind=kind_io8)  cabss,
integer  irttsf,
integer  irtwet,
integer  irtsno,
integer  irtzor,
integer  irtalb,
integer  irtais,
integer  irttg3,
integer  irtscv,
integer  irtacn,
integer  irtsmc,
integer  irtstc,
integer  irtveg,
integer  irtvmn,
integer  irtvmx,
integer  irtslp,
integer  irtabs,
integer  irtvet,
integer  irtsot,
integer  irtalf,
logical, intent(in)  landice,
integer  me 
)

Blend the model forecast (or first guess) fields with the analysis/climatology.

The forecast/first guess variables are named with "fcs". The analysis/climatology variables are named with "anl". On output, the blended fields are stored in the "anl" variables.

Parameters
[in]lenNumber of model points to process.
[in]lsoilNumber of soil layers.
[in]iyCycle year.
[in]imCycle month.
[in]idCycle day.
[in]ihCycle hour.
[in]fhForecast hour.
[in]deltsfcCycling frequency in hours.
[in]sihfcsFirst guess sea ice depth.
[in]sicfcsFirst guess sea ice concentration.
[in]vmnfcsFirst guess minimum vegetation greenness.
[in]vmxfcsFirst guess maximum vegetation greenness.
[in]slpfcsFirst guess slope type.
[in]absfcsFirst guess maximum snow albedo.
[in]tsffcsFirst guess skin temperature/SST.
[in]wetfcsFirst guess soil wetness.
[in]snofcsFirst guess liquid equivalent snow depth.
[in]zorfcsFirst guess roughness length.
[in]albfcsFirst guess snow free albedo.
[in]aisfcsFirst guess ice.
[in]cvfcsFirst guess convective cloud cover.
[in]cvbfcsFirst guess convective cloud bottom.
[in]cvtfcsFirst guess convective cloud top.
[in]cnpfcsFirst guess canopy water content.
[in]smcfcsFirst guess soil moisture.
[in]stcfcsFirst guess soil/ice temperature.
[in]slifcsFirst guess land-sea-ice mask.
[in]vegfcsFirst guess vegetation greenness.
[in]vetfcsFirst guess vegetation type.
[in]sotfcsFirst guess soil type.
[in]alffcsFirst guess strong/weak zenith angle dependent albedo.
[in,out]sihanlBlended sea ice depth.
[in,out]sicanlBlended sea ice concentration.
[in,out]vmnanlBlended minimum vegetation greenness.
[in,out]vmxanlBlended maximum vegetation greenness.
[in,out]slpanlBlended slope type.
[in,out]absanlBlended maximum snow albedo.
[in,out]tsfanlBlended skin temperature/SST.
[in,out]tsfan2Not used.
[in,out]wetanlBlended soil wetness.
[in,out]snoanlBlended liquid equivalent snow depth.
[in,out]zoranlBlended roughness length.
[in,out]albanlBlended snow-free albedo.
[in,out]aisanlBlended ice.
[in,out]cvanlBlended convective cloud cover.
[in,out]cvbanlBlended convective cloud base.
[in,out]cvtanlBlended convective cloud top.
[in,out]cnpanlBlended canopy moisture content.
[in,out]smcanlBlended soil moisture.
[in,out]stcanlBlended soil/ice temperature.
[in,out]slianlBlended land-sea-ice mask.
[in,out]veganlBlended vegetation greenness.
[in,out]vetanlBlended vegetation type.
[in,out]sotanlBlended soil type.
[in,out]alfanlBlended strong/weak zenith angle dependent albedo.
[in]ctsflMerging coefficient for skin temperature.
[in]calblMerging coefficient for snow-free albedo at land points.
[in]caislMerging coefficient for sea ice at land points.
[in]csnolMerging coefficient for snow at land points.
[in]csmclMerging coefficient for soil moisture at land points.
[in]czorlMerging coefficient for roughness length at land points.
[in]cstclMerging coefficient for soil temperature at land points.
[in]cveglMerging coefficient for vegetation greenness at land points.
[in]ctsfsMerging coefficient for SST.
[in]calbsMerging coefficient for snow-free albedo at water points.
[in]caissMerging coefficient for sea ice at water points.
[in]csnosMerging coefficient for snow at water points.
[in]csmcsMerging coefficient for soil moisture at water points.
[in]czorsMerging coefficient for roughness length at water points.
[in]cstcsMerging coefficient for sea ice temperature at water points.
[in]cvegsMerging coefficient for vegetation greenness at water points.
[in]ccvMerging coefficient for convective cloud cover.
[in]ccvbMerging coefficient for covective cloud bottom.
[in]ccvtMerging coefficient for covective cloud top.
[in]ccnpMerging coefficient for canopy moisture.
[in]cvetlMerging coefficient for vegetation type at land points.
[in]cvetsMerging coefficient for vegetation type at water points.
[in]csotlMerging coefficient for soil type at land points.
[in]csotsMerging coefficient for soil type at water points.
[in]calflMerging coefficient for strong/weak zenith angle dependent albedo at land points.
[in]calfsMerging coefficient for strong/weak zenith angle dependent albedo at water points.
[in]csihlMerging coefficient for sea ice depth at land points.
[in]csihsMerging coefficient for sea ice depth at water points.
[in]csiclMerging coefficient for sea ice concentration at land points.
[in]csicsMerging coefficient for sea ice concentration at water points.
[in]cvmnlMerging coefficient for minimum vegetation greenness at land points.
[in]cvmnsMerging coefficient for minimum vegetation greenness at water points.
[in]cvmxlMerging coefficient for maximum vegetation greenness at land points.
[in]cvmxsMerging coefficient for maximum vegetation greenness at water points.
[in]cslplMerging coefficient for slope type at land points.
[in]cslpsMerging coefficient for slope type at water points.
[in]cabslMerging coefficient for maximum snow albedo at land points.
[in]cabssMerging coefficient for maximum snow albedo at water points.
[in]irttsfReturn code from read of skin temperature/SST analysis file.
[in]irtwetReturn code from read of soil wetness analysis file.
[in]irtsnoReturn code from read of snow analysis file.
[in]irtzorReturn code from read of roughness length file.
[in]irtalbReturn code from read of snow-free albedo analysis file.
[in]irtaisReturn code from read of ice mask analysis file.
[in]irttg3Return code from read of soil substrate temperature analysis file.
[in]irtscvReturn code from read of snow cover analysis file.
[in]irtacnReturn code from read of sea ice concentration analysis file.
[in]irtsmcReturn code from read of soil moisture analysis file.
[in]irtstcReturn code from read of soil temperature analysis file.
[in]irtvegReturn code from read of vegetation greenness analysis file.
[in]irtvmnReturn code from read of minimum vegetation greenness analysis file.
[in]irtvmxReturn code from read of maximum vegetation greenness analysis file.
[in]irtslpReturn code from read of slope type analysis file.
[in]irtabsReturn code from read of maximum snow albedo analysis file.
[in]irtvetReturn code from read of vegetation type analysis file.
[in]irtsotReturn code from read of soil type analysis file.
[in]irtalfReturn code from read of file containing fraction for strongly and weakly zenith angle dependent albedo.
[in]landicePermanent land ice flag.
[in]meMPI task number.
Author
Shrinivas Moorthi

Definition at line 5192 of file sfcsub.F.

References num_parthds().

Referenced by sfccycle().

subroutine monitr ( character(len=*)  lfld,
real (kind=kind_io8), dimension(ijmax)  fld,
real (kind=kind_io8), dimension(ijmax)  slimsk,
real (kind=kind_io8), dimension(ijmax)  sno,
integer  ijmax 
)

Determine the maximum and minimum values of a surface field at snow-free and snow covered land, open water, and snow-free and snow covered sea ice.

Parameters
[in]lfldThe name of the surface field to monitory.
[in]fldThe surface field to monitor.
[in]slimskLand-sea-ice mask.
[in]snoSnow.
[in]ijmaxNumber of model points to process.
Author
Shrinivas Moorthi NOAA/EMC

Definition at line 2689 of file sfcsub.F.

Referenced by sfccycle().

subroutine netcdf_err ( integer, intent(in)  error)

Print the error message for a given netCDF return code.

Parameters
[in]error
Author
Xu Li NOAA/EMC

Definition at line 9166 of file sfcsub.F.

Referenced by fixrdc_tile(), read_write_data::read_data(), read_write_data::read_gsi_data(), read_write_data::read_lat_lon_orog(), and read_write_data::write_data().

subroutine newice ( real (kind=kind_io8), dimension(len)  slianl,
real (kind=kind_io8), dimension(len)  slifcs,
real (kind=kind_io8), dimension(len)  tsfanl,
real (kind=kind_io8), dimension(len)  tsffcs,
integer  len,
integer  lsoil,
  sihnew,
  sicnew,
real (kind=kind_io8), dimension(len)  sihanl,
real (kind=kind_io8), dimension(len)  sicanl,
real (kind=kind_io8), dimension(len,4)  albanl,
real (kind=kind_io8), dimension(len)  snoanl,
real (kind=kind_io8), dimension(len)  zoranl,
real (kind=kind_io8), dimension(len,lsoil)  smcanl,
real (kind=kind_io8), dimension(len,lsoil)  stcanl,
real (kind=kind_io8)  albsea,
real (kind=kind_io8)  snosea,
real (kind=kind_io8)  zorsea,
real (kind=kind_io8)  smcsea,
real (kind=kind_io8)  smcice,
real (kind=kind_io8)  tsfmin,
real (kind=kind_io8)  tsfice,
real (kind=kind_io8)  albice,
real (kind=kind_io8)  zorice,
real (kind=kind_io8)  tgice,
real (kind=kind_io8), dimension(len)  rla,
real (kind=kind_io8), dimension(len)  rlo,
integer  me 
)

Adjust surface fields when ice melts or forms.

Parameters
[in]slianlLand-sea-ice mask.
[in]slifcsFirst guess land-sea-ice mask.
[out]tsfanlSkin temperature/SST.
[in]tsffcsFirst guess skin temperature/SST.
[in]lenNumber of model points to process.
[in]lsoilNumber of soil layers.
[in]sihnewSea ice depth for new ice.
[in]sicnewSea ice concentration for new ice.
[out]sihanlSea ice depth.
[out]sicanlSea ice concentration.
[out]albanlSnow-free albedo.
[out]snoanlLiquid equivalent snow depth.
[out]zoranlRoughness length.
[out]smcanlSoil moisture
[out]stcanlSoil temperature
[in]albseaAlbedo at open water.
[in]snoseaSnow at open water.
[in]zorseaRoughness length at open water.
[in]smcseaSoil moisture at open water.
[in]smciceSoil moisture at ice.
[in]tsfminSST at open water.
[in]tsficeSkin temperature at ice.
[in]albiceIce albedo.
[in]zoriceRoughness length of ice.
[in]tgiceFreezing point of salt water.
[in]rlaModel latitudes.
[in]rloModel longitudes.
[in]meMPI task number.
Author
Shrinivas Moorthi
Xingen Wu

Definition at line 5676 of file sfcsub.F.

Referenced by sfccycle().

subroutine qcbyfc ( real (kind=kind_io8), dimension(len)  tsffcs,
real (kind=kind_io8), dimension(len)  snofcs,
real (kind=kind_io8)  qctsfs,
real (kind=kind_io8)  qcsnos,
real (kind=kind_io8)  qctsfi,
integer  len,
integer  lsoil,
real (kind=kind_io8), dimension(len)  snoanl,
real (kind=kind_io8), dimension(len)  aisanl,
real (kind=kind_io8), dimension(len)  slianl,
real (kind=kind_io8), dimension(len)  tsfanl,
real (kind=kind_io8), dimension(len,4)  albanl,
real (kind=kind_io8), dimension(len)  zoranl,
real (kind=kind_io8), dimension(len,lsoil)  smcanl,
real (kind=kind_io8), dimension(len,lsoil)  smcclm,
real (kind=kind_io8)  tsfsmx,
real (kind=kind_io8)  albomx,
real (kind=kind_io8)  zoromx,
integer  me 
)

Quality control analysis fields using the first guess.

Parameters
[in]tsffcsFirst guess skin temperature/SST.
[in]snofcsFirst guess snow.
[in]qctsfsSurface temperature above which no snow allowed.
[in]qcsnosSnow depth above which snow must exits.
[in]qctsfiSST above which sea ice is not allowed.
[in]lenNumber of model points to process.
[in]lsoilNumber of soil layers.
[out]snoanlSnow analysis.
[in]aisanlIce mask.
[in]slianlLand-sea-ice mask.
[out]tsfanlSkin temperature/SST analysis.
[in]albanlSnow-free albedo analysis.
[in]zoranlRoughness length analysis.
[in]smcanlSoil moisture analysis.
[in]smcclmSoil moisture climatology.
[in]tsfsmxNot used.
[in]albomxSnow-free albedo at open water.
[in]zoromxRoughness length at open water.
[in]meMPI task number.
Author
Shrinivas Moorthi

Definition at line 6766 of file sfcsub.F.

Referenced by sfccycle().

subroutine qcmxice ( real (kind=kind_io8), dimension(len)  glacir,
real (kind=kind_io8), dimension(len)  amxice,
integer  len,
integer  me 
)

Quality control maximum ice extent.

Parameters
[in]glacirGlacial flag
[out]amxiceMaximum ice extent.
[in]lenNumber of model points to process.
[in]meMPI task number.
Author
Shrinivas Moorthi

Definition at line 6649 of file sfcsub.F.

Referenced by sfccycle().

subroutine qcmxmn ( character*8  ttl,
real (kind=kind_io8), dimension(len)  fld,
real (kind=kind_io8), dimension(len)  slimsk,
real (kind=kind_io8), dimension(len)  sno,
logical, dimension(len)  iceflg,
real (kind=kind_io8)  fldlmx,
real (kind=kind_io8)  fldlmn,
real (kind=kind_io8)  fldomx,
real (kind=kind_io8)  fldomn,
real (kind=kind_io8)  fldimx,
real (kind=kind_io8)  fldimn,
real (kind=kind_io8)  fldjmx,
real (kind=kind_io8)  fldjmn,
real (kind=kind_io8)  fldsmx,
real (kind=kind_io8)  fldsmn,
real (kind=kind_io8)  epsfld,
real (kind=kind_io8), dimension(len)  rla,
real (kind=kind_io8), dimension(len)  rlo,
integer  len,
integer  mode,
real (kind=kind_io8)  percrit,
logical  lgchek,
integer  me 
)

Range check a field.

The check is a function of whether the point is land, water or ice.

Parameters
[in]ttlName of field.
[in,out]fldThe field array to be ranged checked.
[in]slimskThe land-sea-ice mask.
[in]snoSnow.
[in]iceflgWhen true, check ice points.
[in]fldlmxMaximum allowable value at snow-free land.
[in]fldlmnMinimum allowable value at snow-free land.
[in]fldomxMaximum allowable value at open water.
[in]fldomnMinimum allowable value at open water.
[in]fldimxMaximum allowable value at snow-free ice.
[in]fldimnMinimum allowable value at snow-free ice.
[in]fldjmxMaximum allowable value at snow covered ice.
[in]fldjmnMinimum allowable value at snow covered ice.
[in]fldsmxMaximum allowable value at snow covered land.
[in]fldsmnMinimum allowable value at snow covered land.
[in]epsfldDifference from the max/min allowable value at which the field is updated.
[in]rlaLatitude of the points to process.
[in]rloLongitude of the points to process.
[in]lenNumber of points to process.
[in]modeWhen '1', update the field. When not '1', run routine in diagnostic mode.
[in]percritCritical percentage of 'bad' points required for abort.
[in]lgchekWhen true, abort when a critical percentage of points are outside acceptable range.
[in]meMPI task number.
Author
Shrinivas Moorthi NOAA/EMC

Definition at line 6021 of file sfcsub.F.

References num_parthds().

Referenced by sfccycle().

subroutine qcsice ( real (kind=kind_io8), dimension(len)  ais,
real (kind=kind_io8), dimension(len)  glacir,
real (kind=kind_io8), dimension(len)  amxice,
real (kind=kind_io8)  aicice,
real (kind=kind_io8)  aicsea,
real (kind=kind_io8)  sllnd,
real (kind=kind_io8), dimension(len)  slmask,
real (kind=kind_io8), dimension(len)  rla,
real (kind=kind_io8), dimension(len)  rlo,
integer  len,
integer  me 
)

Check the sea ice cover mask against the land-sea mask.

Parameters
[out]aisSea ice cover mask.
[in]glacirGlacial flag
[in]amxiceMaximum ice extent.
[in]aiciceIce indicator.
[in]aicseaOpen water indicator.
[in]sllndLand indicator.
[in]slmaskLand-sea-ice mask.
[in]rlaModel latitudes
[in]rloModel longitudes
[in]lenNumber of model points to process.
[in]meMPI task number.
Author
Shrinivas Moorthi

Definition at line 5844 of file sfcsub.F.

Referenced by sfccycle().

subroutine qcsli ( real (kind=kind_io8), dimension(len)  slianl,
real (kind=kind_io8), dimension(len)  slifcs,
integer  len,
integer  me 
)

Check consistency between the forecast and analysis land-sea-ice mask.

Parameters
[in]slianlAnalysis mask.
[in,out]slifcsForecast mask.
[in]lenNumber of model points to process.
[in]meMPI task number.
Author
Shrinivas Moorthi

Definition at line 6678 of file sfcsub.F.

Referenced by sfccycle().

subroutine qcsnow ( real (kind=kind_io8), dimension(len)  snoanl,
real (kind=kind_io8), dimension(len)  slmask,
real (kind=kind_io8), dimension(len)  aisanl,
real (kind=kind_io8), dimension(len)  glacir,
integer  len,
real (kind=kind_io8)  snoval,
logical, intent(in)  landice,
integer  me 
)

Quality control snow at the model points.

Parameters
[out]snoanlModel snow to be qc'd.
[in]slmaskLand-sea-ice mask.
[in]aisanlIce mask.
[in]glacirPermanent glacial point when '1'.
[in]lenNumber of model points to process.
[in]snovalMinimum snow depth at glacial points.
[in]landiceIs the point permanent land ice?
[in]meMPI task number.
Author
Shrinivas Moorthi

Definition at line 5783 of file sfcsub.F.

Referenced by sfccycle().

subroutine rof01 ( real (kind=kind_io8), dimension(len)  aisfld,
integer  len,
character*2  op,
real (kind=kind_io8)  crit 
)

Round a field up to one or down to zero.

Parameters
[in,out]aisfldThe field to adjust.
[in]lenNumber of model points to process.
[in]opOperation on field.
[in]critCritical value above/below the field is rounded.
Author
Shrinivas Moorthi

Definition at line 4890 of file sfcsub.F.

Referenced by setrmsk(), and sfccycle().

subroutine scale ( real (kind=kind_io8), dimension(len)  fld,
integer  len,
real (kind=kind_io8)  scl 
)

Multiply a field by a scaling factor.

Parameters
[in,out]fldThe field to scale.
[in]lenNumber of model points to process.
[in]sclScaling factor.
Author
Shrinivas Moorthi

Definition at line 5978 of file sfcsub.F.

Referenced by sfccycle().

subroutine setlsi ( real (kind=kind_io8), dimension(len)  slmask,
real (kind=kind_io8), dimension(len)  aisfld,
integer  len,
real (kind=kind_io8)  aicice,
real (kind=kind_io8), dimension(len)  slifld 
)

Set land-sea-ice mask at sea ice.

Parameters
[in]slmaskThe model mask on input.
[in]aisfldThe ice mask on the model grid.
[in]lenNumber of model points to process.
[in]aiciceIce concentration theshold for an ice point.
[out]slifldThe model mask with sea ice added.
Author
Shrinivas Moorthi

Definition at line 5953 of file sfcsub.F.

Referenced by sfccycle().

subroutine setrmsk ( integer  kpds5,
real (kind=kind_io8), dimension(igaul,jgaul)  slmask,
integer  igaul,
integer  jgaul,
real (kind=kind_io8)  wlon,
real (kind=kind_io8)  rnlat,
real (kind=kind_io8), dimension(imax,jmax)  data,
integer  imax,
integer  jmax,
real (kind=kind_io8), dimension(imax)  rlnout,
real (kind=kind_io8), dimension(jmax)  rltout,
logical  lmask,
real (kind=kind_io8), dimension(imax,jmax)  rslmsk,
logical  gaus,
real (kind=kind_io8)  blno,
real (kind=kind_io8)  blto,
integer  kgds1,
integer, intent(in)  kpds4,
logical*1, dimension(imax,jmax), intent(in)  lbms 
)

Set the mask for the input data.

(Not the model mask). The mask is determined from the input data bitmap or by interpolating a high-resolution mask to the input data grid. Note: not all data has a mask.

Parameters
[in]kpds5Grib parameter number.
[in]slmaskHigh-resolution mask.
[in]igaul"i" dimension of the high-res mask.
[in]jgaul"j" dimension of the high-res mask.
[in]wlonLongitude of 'west' boundary of input data.
[in]rnlatLatitude of north row of input data.
[in]dataThe input data.
[in]imax"i" dimension of input grid.
[in]jmax"j" dimension of input grid.
[out]rlnoutLongitudes on input data grid.
[out]rltoutLatitudes on input data grid.
[out]lmaskTrue, when input data has a mask.
[out]rslmskThe mask of the input data grid.
[in]gausIs high-resolution mask on a gaussian grid.
[in]blnoCorner point longitude of the high-res mask.
[in]bltoCorner point longitude of the high-res mask.
[in]kgds1Grib indicator for grid type.
[in]kpds4Grib indicator for bitmap.
[in]lbmsBitmap of input data.
Author
Shrinivas Moorthi

Definition at line 6888 of file sfcsub.F.

References ga2la(), and rof01().

Referenced by fixrda(), and fixrdc().

subroutine setzro ( real (kind=kind_io8), dimension(len)  fld,
real (kind=kind_io8)  eps,
integer  len 
)

Set a field to zero if it is less than a threshold.

Parameters
[in,out]fldField to set.
[in]epsThreshold.
[in]lenNumber of model points to process.
Author
Shrinivas Moorthi

Definition at line 6445 of file sfcsub.F.

Referenced by sfccycle().

subroutine sfccycle ( integer  lugb,
integer  len,
integer  lsoil,
real (kind=kind_io8), dimension(len)  sig1t,
real (kind=kind_io8)  deltsfc,
integer  iy,
integer  im,
integer  id,
integer  ih,
real (kind=kind_io8)  fh,
real (kind=kind_io8), dimension(len)  rla,
real (kind=kind_io8), dimension(len)  rlo,
real (kind=kind_io8), dimension(len)  slmask,
real (kind=kind_io8), dimension(len)  orog,
real (kind=kind_io8), dimension(len)  orog_uf,
logical  use_ufo,
logical  nst_anl,
real (kind=kind_io8), dimension(len)  sihfcs,
real (kind=kind_io8), dimension(len)  sicfcs,
real (kind=kind_io8), dimension(len)  sitfcs,
real (kind=kind_io8), dimension(len)  swdfcs,
real (kind=kind_io8), dimension(len,lsoil)  slcfcs,
real (kind=kind_io8), dimension(len)  vmnfcs,
real (kind=kind_io8), dimension(len)  vmxfcs,
real (kind=kind_io8), dimension(len)  slpfcs,
real (kind=kind_io8), dimension(len)  absfcs,
real (kind=kind_io8), dimension(len)  tsffcs,
real (kind=kind_io8), dimension(len)  snofcs,
real (kind=kind_io8), dimension(len)  zorfcs,
real (kind=kind_io8), dimension(len,4)  albfcs,
real (kind=kind_io8), dimension(len)  tg3fcs,
real (kind=kind_io8), dimension(len)  cnpfcs,
real (kind=kind_io8), dimension(len,lsoil)  smcfcs,
real (kind=kind_io8), dimension(len,lsoil)  stcfcs,
real (kind=kind_io8), dimension(len)  slifcs,
real (kind=kind_io8), dimension(len)  aisfcs,
real (kind=kind_io8), dimension(len)  vegfcs,
real (kind=kind_io8), dimension(len)  vetfcs,
real (kind=kind_io8), dimension(len)  sotfcs,
real (kind=kind_io8), dimension(len,2)  alffcs,
real (kind=kind_io8), dimension (len)  cvfcs,
real (kind=kind_io8), dimension(len)  cvbfcs,
real (kind=kind_io8), dimension(len)  cvtfcs,
integer  me,
integer  nlunit,
integer  sz_nml,
character(len=*), dimension(sz_nml), intent(in)  input_nml_file,
integer  ialb,
integer  isot,
integer  ivegsrc,
character(len=*), intent(in)  tile_num_ch,
integer, dimension(len), intent(in)  i_index,
integer, dimension(len), intent(in)  j_index 
)

Surface cycling driver routine.

Update 'first guess' surface fields with either analysis or climatological data.

Parameters
[in]lugbFortran unit number used to read data files.
[in]lenNumber of model points to process.
[in]lsoilNumber of soil layers.
[in]sig1tSigma level 1 temperature for dead start.
[in]deltsfcCycling frequency in hours.
[in]iyYear of initial state.
[in]imMonth of initial state.
[in]idDay of initial state.
[in]ihHour of initial state.
[in]fhForecast hour.
[in]rlaLatitude of model points.
[in]rloLongitude of model points.
[in]slmaskModel land-sea mask without ice flag.
[in]orogFiltered orography on model grid.
[in]orog_ufUnfiltered orography on model grid.
[in]use_ufoWhen true, adjust sst and soil substrate temperature for differences between filtered and unfiltered terrain.
[in]nst_anlSet to true when using nst model.
[in,out]sihfcsSea ice thickness on model grid.
[in,out]sicfcsSea ice concentration on model grid.
[in,out]sitfcsSea ice skin temperature on model grid.
[in,out]swdfcsPhysical snow depth on model grid.
[in,out]slcfcsLiquid portion of volumentric soil moisture on model grid.
[in,out]vmnfcsMinimum greenness fraction of model grid.
[in,out]vmxfcsMaximum greenness fraction of model grid.
[in,out]slpfcsSlope type on model grid.
[in,out]absfcsMaximum snow albedo on model grid.
[in,out]tsffcsSkin temperature/SST on model grid.
[in,out]snofcsLiquid equivalent snow depth on model grid.
[in,out]zorfcsRoughness length on model grid.
[in,out]albfcsSnow-free albedo on model grid.
[in,out]tg3fcsSoil substrate temperature on model grid.
[in,out]cnpfcsCanopy moisture content on model grid.
[in,out]smcfcsTotal volumetric soil moisture on model grid.
[in,out]stcfcsSoil/ice depth temperature on model grid.
[in,out]slifcsModel land-sea mask including ice flag.
[in,out]aisfcsModel ice mask.
[in,out]vegfcsVegetation greenness on model grid.
[in,out]vetfcsVegetation type on model grid.
[in,out]sotfcsSoil type on model grid.
[in,out]alffcsFraction for strongly and weakly zenith angle dependent albedo on model grid.
[in,out]cvfcsConvective cloud cover on model grid.
[in,out]cvbfcsConvective cloud base on model grid.
[in,out]cvtfcsConvective cloud top on model grid.
[in]meMPI task number.
[in]nlunitProgram namelist unit number.
[in]sz_nmlDimension of input_nml_file.
[in]input_nml_fileName of program namelist file.
[in]ialbUse modis albedo when '1'. Use brigleb when '0'.
[in]isotWhen '1', use statsgo soil type. When '0' use zobler soil type.
[in]ivegsrcWhen '1', use igbp vegetation type. When '2' use sib vegetation type.
[in]tile_num_chModel tile number to process.
[in]i_indexThe 'i' indices of the model grid to process.
[in]j_indexThe 'j' indices of the model grid to process.
Author
Shrinivas Moorthi

Definition at line 175 of file sfcsub.F.

References albocn(), analy(), anomint(), clima(), filanl(), filfcs(), fixrdc(), getscv(), getsmc(), getstc(), hmskrd(), landtyp(), merge(), monitr(), newice(), qcbyfc(), qcmxice(), qcmxmn(), qcsice(), qcsli(), qcsnow(), rof01(), scale(), setlsi(), setzro(), snodpth(), snodpth2(), snosfc(), tsfcor(), and usesgt().

Referenced by sfcdrv().

subroutine snodpth ( real (kind=kind_io8), dimension(len)  scvanl,
real (kind=kind_io8), dimension(len)  slianl,
real (kind=kind_io8), dimension(len)  tsfanl,
real (kind=kind_io8), dimension(len)  snoclm,
real (kind=kind_io8), dimension(len)  glacir,
real (kind=kind_io8)  snwmax,
real (kind=kind_io8)  snwmin,
logical, intent(in)  landice,
integer  len,
real (kind=kind_io8), dimension(len)  snoanl,
integer  me 
)

Estimate snow depth at glacial, land and sea ice points.

Parameters
[in]scvanlSnow cover.
[in]slianlLand-sea-ice mask.
[in]tsfanlSkin temperature.
[in]snoclmClimatological snow depth.
[in]glacirPermanent glacial point when '1'.
[in]snwmaxMaximum snow depth.
[in]snwminMinimum snow depth.
[in]landiceWhen true, point is permanent land ice.
[in]lenNumber of model points to process.
[out]snoanlSnow depth.
[in]meMPI task number.
Author
Shrinivas Moorthi

Definition at line 4978 of file sfcsub.F.

Referenced by sfccycle().

subroutine snodpth2 ( real (kind=kind_io8), dimension(len)  glacir,
real (kind=kind_io8)  snwmax,
real (kind=kind_io8), dimension(len)  snoanl,
integer  len,
integer  me 
)

Ensure deep snow pack at permanent glacial points.

Parameters
[in]glacirGlacial flag
[in]snwmaxDeep snow pack depth
[in,out]snoanlModel snow
[in]lenNumber of model points to process.
[in]meMPI task number.
Author
Shrinivas Moorthi NOAA/EMC

Definition at line 9730 of file sfcsub.F.

Referenced by sfccycle().

subroutine snosfc ( real (kind=kind_io8), dimension(len)  snoanl,
real (kind=kind_io8), dimension(len)  tsfanl,
real (kind=kind_io8)  tsfsmx,
integer  len,
integer  me 
)

Check skin temperature at points with snow.

If it is above a threshold, reset it to that value.

Parameters
[in]snoanlSnow.
[in,out]tsfanlSkin temperature at the model points.
[in]tsfsmxMaximum allowable skin temperature at snow points.
[in]lenNumber of model points to process.
[in]meMPI rank
Author
Shrinivas Moorthi NOAA/EMC

Definition at line 6593 of file sfcsub.F.

Referenced by sfccycle().

subroutine subst ( real (kind=kind_io8), dimension(imax,jmax)  data,
integer  imax,
integer  jmax,
real (kind=kind_io8)  dlon,
real (kind=kind_io8)  dlat,
logical  ijordr 
)

Take an array of data on a lat/lon based grid and rearrange it so the corner point is in the 'lower left' and adjacent points in the 'i' direction are consecutive.

Parameters
[in,out]dataThe data to be adjusted.
[in]imax'i' dimension of data.
[in]jmax'j' dimension of data.
[in]dlonDelta longitude of the data.
[in]dlatDelta latitude of the data.
[in]ijordrWhen false, adjacent points in the 'i' direction are consecutive. Otherwise, 'j' points are consecutive.
Author
Shrinivas Moorthi

Definition at line 3130 of file sfcsub.F.

Referenced by fixrda(), and fixrdc().

subroutine tsfcor ( real (kind=kind_io8), dimension(len)  tsfc,
real (kind=kind_io8), dimension(len)  orog,
real (kind=kind_io8), dimension(len)  slmask,
real (kind=kind_io8)  umask,
integer  len,
real (kind=kind_io8)  rlapse 
)

Adjust skin temperature or SST for terrain.

Parameters
[in,out]tsfcSkin temperature/SST
[in]orogOrography height.
[in]slmaskModel land-sea mask.
[in]umaskWhen '0' adjust SST, when '1' adjust skin temperature.
[in]lenNumber of model points to process.
[in]rlapseStandard atmospheric lapse rate.
Author
Shrinivas Moorthi

Definition at line 4948 of file sfcsub.F.

Referenced by sfccycle().

subroutine usesgt ( real (kind=kind_io8), dimension(len)  sig1t,
real (kind=kind_io8), dimension(len)  slianl,
real (kind=kind_io8), dimension(len)  tg3anl,
integer  len,
integer  lsoil,
real (kind=kind_io8), dimension(len)  tsfanl,
real (kind=kind_io8), dimension(len,lsoil)  stcanl,
real (kind=kind_io8)  tsfimx 
)

Set soil temperature and sea ice column temperature for a dead start.

Parameters
[in]sig1tSigma level 1 temperature for dead start.
[in]slianlLand-sea-ice mask.
[in]tg3anlSoil substrate temperature.
[in]lenNumber of model points to process.
[in]lsoilNumber of soil layers.
[out]tsfanlSkin temperature.
[out]stcanlSoil/sea ice column temperature.
[in]tsfimxFreezing point of sea water.
Author
Shrinivas Moorthi

Definition at line 6560 of file sfcsub.F.

References getstc().

Referenced by sfccycle().