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) | slmskl, | ||
real (kind=kind_io8), dimension(len) | slmskw, | ||
real (kind=kind_io8), dimension(len) | orog, | ||
real (kind=kind_io8), dimension(len) | orog_uf, | ||
logical, intent(in) | use_ufo, | ||
logical, intent(in) | 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, intent(in) | me, | ||
integer, intent(in) | nthrds, | ||
integer | nlunit, | ||
integer | sz_nml, | ||
character(len=*), dimension(sz_nml), intent(in) | input_nml_file, | ||
real (kind=kind_io8), dimension(len), intent(in) | min_ice, | ||
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 | ||
) |
lugb | the unit number used in this subprogram |
len | number of points on which sfccyc operates |
lsoil | number of soil layers |
sig1t | sigma level 1 temperature for dead start. it should be on gaussian grid. If not dead start, no need for dimension but set to zero as in the example below. |
deltsfc | = fhcyc, frequcy for surface data cycling in hours |
iy,im,id,ih | year, month, day, and hour of initial state |
fh | forecast hour |
rla,rlo | latitude and longitudes of the len points |
slmsk | |
orog | |
orog_uf | |
use_ufo | |
nst_anl |
This is a limited point version of surface program.
this program runs in two different modes:
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).
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.
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=' '
References albocn(), analy(), anomint(), clima(), filanl(), filfcs(), fixrdc(), getscv(), getsmc(), getstc(), hmskrd(), sfccyc_module::kpdais, sfccyc_module::kpdalb_0, sfccyc_module::kpdalb_1, sfccyc_module::kpdalf, sfccyc_module::kpdgla, sfccyc_module::kpdsno, sfccyc_module::kpdtg3, sfccyc_module::kpdwet, sfccyc_module::kpdzor, landtyp(), sfccyc_module::mdata, merge(), sfccyc_module::message(), monitr(), newice(), sfccyc_module::num_threads, sfccyc_module::one, qcbyfc(), qcmxice(), qcmxmn(), qcsice(), qcsli(), qcsnow(), rof01(), rof01_len(), scale(), setlsi(), setzro(), snodpth(), snodpth2(), snosfc(), sfccyc_module::soil_type_landice, sfccyc_module::ten, tsfcor(), usesgt(), sfccyc_module::veg_type_landice, and sfccyc_module::zero.
Referenced by gcycle_mod::gcycle().