SURFEX v8.1
General documentation of Surfex
Functions/Subroutines
snowcro.F90 File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine snowcro (HSNOWRES, TPTIME, OGLACIER, HIMPLICIT_WIND,
 
subroutine snowcrocompactn (PTSTEP, PSNOWRHO, PSNOWDZ,
 
subroutine snowcrometamo (PSNOWDZ, PSNOWGRAN1, PSNOWGRAN2, PSNOWHIST, PSNOWTEMP, PSNOWLIQ, PTSTEP, PSNOWSWE, INLVLS_USE, PSNOWAGE, HSNOWMETAMO)
 
subroutine set_thresh (PGRADT, PSNOWLIQ, PSPHE)
 
subroutine get_gran (PTSTEP, PTELM, PGRAN)
 
subroutine snowcroalb (TPTIME, OGLACIER, PALBEDOSC, PSPECTRALALBEDO, PSNOWDZ, PSNOWRHO, PPERMSNOWFRAC, PSNOWGRAN1_TOP, PSNOWGRAN2_TOP, PSNOWAGE_TOP, PSNOWGRAN1_BOT, PSNOWGRAN2_BOT, PSNOWAGE_BOT, PPS, PZENITH, KNLVLS_USE, HSNOWMETAMO)
 
subroutine get_alb (KJ, PSNOWRHO_IN, PPS_IN, PVAGE1, PSNOWGRAN1, PSNOWGRAN2, PS
 
subroutine snowcrorad (TPTIME, OGLACIER, PSW_RAD, PSNOWALB, PSNOWDZ, PSNOWRHO, PALB, PRADSINK, PRADXS, PSNOWGRAN1, PSNOWGRAN2, PSNOWAGE, PPS, PZENITH, PPERMSNOWFRAC, KNLVLS_USE, OSNOW_ABS_ZENITH, HSNOWMETAMO)
 
subroutine snowcrothrm (PSNOWRHO, PSCOND, PSNOWTEMP, PPS, PSNOWLIQ, OCOND_GRAIN, OCOND_YEN)
 
subroutine snowcroebud (HSNOWRES, HIMPLICIT_WIND,
 
subroutine snowcrosolvt (PTSTEP, PSNOWDZMIN, PSNOWDZ, PSCOND, PSCAP, PTG, PSOILCOND, PD_G, PRADSINK, PCT, PTERM1, PTERM2, PPET_A_COEF_T, PPEQ_A_COEF_T, PPET_B_COEF_T, PPEQ_B_COEF_T, PTA_IC, PQA_IC, PGBAS, PSNOWTEMP, PSNOWFLUX, KNLVLS_USE)
 
subroutine snowcromelt (PSCAP, PSNOWTEMP, PSNOWDZ, PSNOWRHO, PSNOWLIQ, KNLVLS_USE)
 
subroutine snowcrorefrz (PTSTEP, PRR, PSNOWRHO, PSNOWTEMP, PSNOWDZ, PSNOWLIQ, PTHRUFAL, PSCAP, PLEL3L, KNLVLS_USE)
 
subroutine get_rho (PRHO_IN, PDZ, PSNOWLIQ, PFLOWLIQ, PRHO_OUT)
 
subroutine snowcroflux (PSNOWTEMP, PSNOWDZ, PEXNS, PEXNA, PUSTAR2_IC, PTSTEP, PALBT, PSW_RAD, PEMIST, PLWUPSNOW, PLW_RAD, PTA, PSFCFRZ, PQA, PHPSNOW, PSNOWTEMPO1, PSNOWFLUX, PCT, PRADSINK, PQSAT, PDQSAT, PRSRA, PRN, PH, PGFLUX, PLES3L, PLEL3L, PEVAP, PUSTAR)
 
subroutine get_flux (PALBT, PEMIST, PSW_RAD, PLW_RAD, PEXNS, PEXNA, PTA, PQA, PRSRA, PQSAT, PDQSAT, PSFCFRZ, PHPSNOW, PSNOWTEMP, PSNOWTEMPO1, PRN, PH, PEVAPC, PLES3L, PLEL3L, PGFLUX)
 
subroutine snowcroevapn (PLES3L, PTSTEP, PSNOWTEMP, PSNOWRHO, PSNOWDZ, PEVAPCOR, PSNOWHMASS)
 
subroutine snowcrogone (PTSTEP, PLEL3L, PLES3L, PSNOWRHO,
 
subroutine snowcroevapgone (PSNOWHEAT, PSNOWDZ, PSNOWRHO, PSNOWTEMP, PSNOWLIQ
 
subroutine snownlfall_upgrid (TPTIME, OGLACIER, PTSTEP, PSR, PTA, PVMOD,
 
subroutine get_snowdzn_deb (KNLVLS, PSNOWDZ, PDZOPT, PSNOWDZN)
 
subroutine get_snowdzn_end (KNLVLS, PSNOWDZ, PDZOPT, PSNOWDZN)
 
subroutine snownlgridfresh_1d (KJ, PSNOW, PSNOWDZ, PSNOWDZN,
 
subroutine snowdrift (PTSTEP, PVMOD, PSNOWRHO, PSNOWDZ, PSNOW, PSNOWGRAN1, PSNOWGRAN2, PSNOWHIST, KNLVLS_USE, PTA, PQA, PPS, PRHOA, PZ0EFF, PUREF, OSNOWDRIFT_SUBLIM, HSNOWMETAMO, PSNDRIFT)
 
subroutine snowcrolayer_gone (PTSTEP, PSCAP, PSNOWTEMP, PSNOWDZ, PSNOWRHO, PSNOWLIQ, PSNOWGRAN1, PSNOWGRAN2, PSNOWHIST, PSNOWAGE, PLES3L, KNLVLS_USE)
 
subroutine snowcroprintprofile (HINFO, KLAYERS, OPRINTGRAN, PSNOWDZ, PSNOWRHO
 
subroutine snowcroprintatm (CINFO, PTA, PQA, PVMOD, PRR, PSR, PSW_RAD, PLW_RAD,
 
subroutine snowcrostopbalance (PMASSBALANCE, PENERGYBALANCE)
 
subroutine snowcroprintbalance (PSUMMASS_INI, PSUMHEAT_INI, PSUMMASS_FIN, PS
 
subroutine get_balance (PSUMMASS_INI, PSUMHEAT_INI, PSUMMASS_FIN, PSUMHEAT_F
 
subroutine snowcroprintdate ()
 

Function/Subroutine Documentation

◆ get_alb()

subroutine snowcro::get_alb ( integer, intent(in)  KJ,
real, intent(in)  PSNOWRHO_IN,
real, intent(in)  PPS_IN,
real, intent(in)  PVAGE1,
real, intent(in)  PSNOWGRAN1,
real, intent(in)  PSNOWGRAN2,
  PS 
)

Definition at line 2020 of file snowcro.F90.

Here is the caller graph for this function:

◆ get_balance()

subroutine snowcro::get_balance ( real, intent(in)  PSUMMASS_INI,
real, intent(in)  PSUMHEAT_INI,
real, intent(in)  PSUMMASS_FIN,
  PSUMHEAT_F 
)

Definition at line 5349 of file snowcro.F90.

Here is the caller graph for this function:

◆ get_flux()

subroutine snowcro::get_flux ( real, intent(in)  PALBT,
real, intent(in)  PEMIST,
real, intent(in)  PSW_RAD,
real, intent(in)  PLW_RAD,
real, intent(in)  PEXNS,
real, intent(in)  PEXNA,
real, intent(in)  PTA,
real, intent(in)  PQA,
real, intent(in)  PRSRA,
real, intent(in)  PQSAT,
real, intent(in)  PDQSAT,
real, intent(in)  PSFCFRZ,
real, intent(in)  PHPSNOW,
real, intent(in)  PSNOWTEMP,
real, intent(in)  PSNOWTEMPO1,
real, intent(out)  PRN,
real, intent(out)  PH,
real, intent(out)  PEVAPC,
real, intent(out)  PLES3L,
real, intent(out)  PLEL3L,
real, intent(out)  PGFLUX 
)

Definition at line 3199 of file snowcro.F90.

Here is the caller graph for this function:

◆ get_gran()

subroutine snowcro::get_gran ( real, intent(in)  PTSTEP,
real, intent(in)  PTELM,
real, intent(inout)  PGRAN 
)

Definition at line 1844 of file snowcro.F90.

Here is the caller graph for this function:

◆ get_rho()

subroutine snowcro::get_rho ( real, intent(in)  PRHO_IN,
real, intent(in)  PDZ,
real, intent(in)  PSNOWLIQ,
real, intent(in)  PFLOWLIQ,
real, intent(out)  PRHO_OUT 
)

Definition at line 3037 of file snowcro.F90.

◆ get_snowdzn_deb()

subroutine snowcro::get_snowdzn_deb ( integer, intent(in)  KNLVLS,
real, dimension(:), intent(in)  PSNOWDZ,
real, dimension(:), intent(in)  PDZOPT,
real, dimension(:), intent(out)  PSNOWDZN 
)

Definition at line 4368 of file snowcro.F90.

Here is the caller graph for this function:

◆ get_snowdzn_end()

subroutine snowcro::get_snowdzn_end ( integer, intent(in)  KNLVLS,
real, dimension(:), intent(in)  PSNOWDZ,
real, dimension(:), intent(in)  PDZOPT,
real, dimension(:), intent(out)  PSNOWDZN 
)

Definition at line 4415 of file snowcro.F90.

Here is the caller graph for this function:

◆ set_thresh()

subroutine snowcro::set_thresh ( real, intent(in)  PGRADT,
real, intent(in)  PSNOWLIQ,
real, intent(inout)  PSPHE 
)

Definition at line 1825 of file snowcro.F90.

Here is the caller graph for this function:

◆ snowcro()

subroutine snowcro ( character(len=*), intent(in)  HSNOWRES,
type(date_time), intent(in)  TPTIME,
logical, intent(in)  OGLACIER,
character(len=*), intent(in)  HIMPLICIT_WIND 
)

Definition at line 7 of file snowcro.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ snowcroalb()

subroutine snowcro::snowcroalb ( type(date_time), intent(in)  TPTIME,
logical, intent(in)  OGLACIER,
real, dimension(:), intent(inout)  PALBEDOSC,
real, dimension(:,:), intent(out)  PSPECTRALALBEDO,
real, dimension(:), intent(in)  PSNOWDZ,
real, dimension(:,:), intent(in)  PSNOWRHO,
real, dimension(:), intent(in)  PPERMSNOWFRAC,
real, dimension(:), intent(in)  PSNOWGRAN1_TOP,
real, dimension(:), intent(in)  PSNOWGRAN2_TOP,
  PSNOWAGE_TOP,
  PSNOWGRAN1_BOT,
  PSNOWGRAN2_BOT,
  PSNOWAGE_BOT,
  PPS,
real, dimension(:), intent(in)  PZENITH,
integer, dimension(:), intent(in)  KNLVLS_USE,
character(3), intent(in)  HSNOWMETAMO 
)

Definition at line 1875 of file snowcro.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ snowcrocompactn()

subroutine snowcro::snowcrocompactn ( real, intent(in)  PTSTEP,
real, dimension(:,:), intent(inout)  PSNOWRHO,
real, dimension(:,:), intent(inout)  PSNOWDZ 
)

Definition at line 1130 of file snowcro.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ snowcroebud()

subroutine snowcro::snowcroebud ( character(len=*), intent(in)  HSNOWRES,
character(len=*), intent(in)  HIMPLICIT_WIND 
)

Definition at line 2286 of file snowcro.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ snowcroevapgone()

subroutine snowcro::snowcroevapgone ( real, dimension(:,:), intent(inout)  PSNOWHEAT,
real, dimension(:,:), intent(inout)  PSNOWDZ,
real, dimension(:,:), intent(inout)  PSNOWRHO,
real, dimension(:,:), intent(inout)  PSNOWTEMP,
real, dimension(:,:), intent(inout)  PSNOWLIQ 
)

Definition at line 3445 of file snowcro.F90.

Here is the caller graph for this function:

◆ snowcroevapn()

subroutine snowcro::snowcroevapn ( real, dimension(:), intent(in)  PLES3L,
real, intent(in)  PTSTEP,
real, dimension(:), intent(in)  PSNOWTEMP,
real, dimension(:), intent(inout)  PSNOWRHO,
real, dimension(:), intent(inout)  PSNOWDZ,
real, dimension(:), intent(inout)  PEVAPCOR,
real, dimension(:), intent(inout)  PSNOWHMASS 
)

Definition at line 3245 of file snowcro.F90.

Here is the caller graph for this function:

◆ snowcroflux()

subroutine snowcro::snowcroflux ( real, dimension(:), intent(inout)  PSNOWTEMP,
real, dimension(:), intent(in)  PSNOWDZ,
  PEXNS,
  PEXNA,
  PUSTAR2_IC,
real, intent(in)  PTSTEP,
real, dimension(:), intent(in)  PALBT,
real, dimension(:), intent(in)  PSW_RAD,
real, dimension(:), intent(in)  PEMIST,
  PLWUPSNOW,
real, dimension(:), intent(in)  PLW_RAD,
  PTA,
  PSFCFRZ,
  PQA,
  PHPSNOW,
real, dimension(:), intent(in)  PSNOWTEMPO1,
real, dimension(:), intent(in)  PSNOWFLUX,
  PCT,
  PRADSINK,
  PQSAT,
  PDQSAT,
  PRSRA,
real, dimension(:), intent(out)  PRN,
real, dimension(:), intent(out)  PH,
real, dimension(:), intent(out)  PGFLUX,
real, dimension(:), intent(out)  PLES3L,
real, dimension(:), intent(out)  PLEL3L,
  PEVAP,
  PUSTAR 
)

Definition at line 3064 of file snowcro.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ snowcrogone()

subroutine snowcro::snowcrogone ( real, intent(in)  PTSTEP,
real, dimension(:), intent(in)  PLEL3L,
real, dimension(:), intent(in)  PLES3L,
real, dimension(:,:), intent(in)  PSNOWRHO 
)

Definition at line 3331 of file snowcro.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ snowcrolayer_gone()

subroutine snowcro::snowcrolayer_gone ( real, intent(in)  PTSTEP,
real, dimension(:,:), intent(inout)  PSCAP,
real, dimension(:,:), intent(inout)  PSNOWTEMP,
real, dimension(:,:), intent(inout)  PSNOWDZ,
real, dimension(:,:), intent(inout)  PSNOWRHO,
  PSNOWLIQ,
real, dimension(:,:), intent(inout)  PSNOWGRAN1,
real, dimension(:,:), intent(inout)  PSNOWGRAN2,
real, dimension(:,:), intent(inout)  PSNOWHIST,
  PSNOWAGE,
real, dimension(:), intent(in)  PLES3L,
integer, dimension(:), intent(inout)  KNLVLS_USE 
)

Definition at line 4958 of file snowcro.F90.

Here is the caller graph for this function:

◆ snowcromelt()

subroutine snowcro::snowcromelt ( real, dimension(:,:), intent(in)  PSCAP,
real, dimension(:,:), intent(inout)  PSNOWTEMP,
real, dimension(:,:), intent(inout)  PSNOWDZ,
real, dimension(:,:), intent(inout)  PSNOWRHO,
real, dimension(:,:), intent(inout)  PSNOWLIQ,
integer, dimension(:), intent(in)  KNLVLS_USE 
)

Definition at line 2779 of file snowcro.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ snowcrometamo()

subroutine snowcro::snowcrometamo ( real, dimension(:,:), intent(in)  PSNOWDZ,
real, dimension(:,:), intent(inout)  PSNOWGRAN1,
real, dimension(:,:), intent(inout)  PSNOWGRAN2,
real, dimension(:,:), intent(inout)  PSNOWHIST,
real, dimension(:,:), intent(in)  PSNOWTEMP,
real, dimension(:,:), intent(in)  PSNOWLIQ,
real, intent(in)  PTSTEP,
  PSNOWSWE,
integer, dimension(:), intent(in)  INLVLS_USE,
real, dimension(:,:), intent(in)  PSNOWAGE,
character(3), intent(in)  HSNOWMETAMO 
)

Definition at line 1285 of file snowcro.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ snowcroprintatm()

subroutine snowcro::snowcroprintatm ( character(*), intent(in)  CINFO,
real, intent(in)  PTA,
real, intent(in)  PQA,
real, intent(in)  PVMOD,
real, intent(in)  PRR,
real, intent(in)  PSR,
real, intent(in)  PSW_RAD,
real, intent(in)  PLW_RAD 
)

Definition at line 5202 of file snowcro.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ snowcroprintbalance()

subroutine snowcro::snowcroprintbalance ( real, intent(in)  PSUMMASS_INI,
real, intent(in)  PSUMHEAT_INI,
real, intent(in)  PSUMMASS_FIN,
  PS 
)

Definition at line 5282 of file snowcro.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ snowcroprintdate()

subroutine snowcro::snowcroprintdate ( )

Definition at line 5384 of file snowcro.F90.

Here is the caller graph for this function:

◆ snowcroprintprofile()

subroutine snowcro::snowcroprintprofile ( character(*), intent(in)  HINFO,
integer, intent(in)  KLAYERS,
logical, intent(in)  OPRINTGRAN,
real, dimension(:), intent(in)  PSNOWDZ,
real, dimension(:), intent(in)  PSNOWRHO 
)

Definition at line 5104 of file snowcro.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ snowcrorad()

subroutine snowcro::snowcrorad ( type(date_time), intent(in)  TPTIME,
logical, intent(in)  OGLACIER,
real, dimension(:), intent(in)  PSW_RAD,
real, dimension(:), intent(in)  PSNOWALB,
real, dimension(:,:), intent(in)  PSNOWDZ,
real, dimension(:,:), intent(in)  PSNOWRHO,
real, dimension(:), intent(in)  PALB,
real, dimension(:,:), intent(out)  PRADSINK,
real, dimension(:), intent(out)  PRADXS,
real, dimension(:,:), intent(in)  PSNOWGRAN1,
real, dimension(:,:), intent(in)  PSNOWGRAN2,
real, dimension(:,:), intent(in)  PSNOWAGE,
real, dimension(:), intent(in)  PPS,
real, dimension(:), intent(in)  PZENITH,
  PPERMSNOWFRAC,
integer, dimension(:), intent(in)  KNLVLS_USE,
logical, intent(in)  OSNOW_ABS_ZENITH,
character(3), intent(in)  HSNOWMETAMO 
)

Definition at line 2082 of file snowcro.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ snowcrorefrz()

subroutine snowcro::snowcrorefrz ( real, intent(in)  PTSTEP,
real, dimension(:), intent(in)  PRR,
  PSNOWRHO,
real, dimension(:,:), intent(inout)  PSNOWTEMP,
real, dimension(:,:), intent(inout)  PSNOWDZ,
real, dimension(:,:), intent(inout)  PSNOWLIQ,
real, dimension(:), intent(inout)  PTHRUFAL,
real, dimension(:,:), intent(in)  PSCAP,
real, dimension(:), intent(in)  PLEL3L,
integer, dimension(:), intent(in)  KNLVLS_USE 
)

Definition at line 2891 of file snowcro.F90.

Here is the caller graph for this function:

◆ snowcrosolvt()

subroutine snowcro::snowcrosolvt ( real, intent(in)  PTSTEP,
real, intent(in)  PSNOWDZMIN,
real, dimension(:,:), intent(in)  PSNOWDZ,
real, dimension(:,:), intent(in)  PSCOND,
real, dimension(:,:), intent(in)  PSCAP,
real, dimension(:), intent(in)  PTG,
real, dimension(:), intent(in)  PSOILCOND,
real, dimension(:), intent(in)  PD_G,
real, dimension(:,:), intent(in)  PRADSINK,
real, dimension(:), intent(in)  PCT,
real, dimension(:), intent(in)  PTERM1,
real, dimension(:), intent(in)  PTERM2,
real, dimension(:), intent(in)  PPET_A_COEF_T,
real, dimension(:), intent(in)  PPEQ_A_COEF_T,
real, dimension(:), intent(in)  PPET_B_COEF_T,
real, dimension(:), intent(in)  PPEQ_B_COEF_T,
real, dimension(:), intent(out)  PTA_IC,
real, dimension(:), intent(out)  PQA_IC,
real, dimension(:), intent(out)  PGBAS,
real, dimension(:,:), intent(inout)  PSNOWTEMP,
real, dimension(:), intent(out)  PSNOWFLUX,
integer, dimension(:), intent(in)  KNLVLS_USE 
)

Definition at line 2540 of file snowcro.F90.

Here is the caller graph for this function:

◆ snowcrostopbalance()

subroutine snowcro::snowcrostopbalance ( real, dimension(:), intent(in)  PMASSBALANCE,
real, dimension(:), intent(in)  PENERGYBALANCE 
)

Definition at line 5254 of file snowcro.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ snowcrothrm()

subroutine snowcro::snowcrothrm ( real, dimension(:,:), intent(in)  PSNOWRHO,
real, dimension(:,:), intent(out)  PSCOND,
real, dimension(:,:), intent(in)  PSNOWTEMP,
real, dimension(:), intent(in)  PPS,
real, dimension(:,:), intent(in)  PSNOWLIQ,
logical, intent(in)  OCOND_GRAIN,
logical, intent(in)  OCOND_YEN 
)

Definition at line 2220 of file snowcro.F90.

Here is the caller graph for this function:

◆ snowdrift()

subroutine snowcro::snowdrift ( real, intent(in)  PTSTEP,
real, dimension(:), intent(in)  PVMOD,
real, dimension(:,:), intent(inout)  PSNOWRHO,
real, dimension(:,:), intent(inout)  PSNOWDZ,
real, dimension(:), intent(out)  PSNOW,
real, dimension(:,:), intent(inout)  PSNOWGRAN1,
real, dimension(:,:), intent(inout)  PSNOWGRAN2,
real, dimension(:,:), intent(inout)  PSNOWHIST,
integer, dimension(:), intent(in)  KNLVLS_USE,
real, dimension(:), intent(in)  PTA,
real, dimension(:), intent(in)  PQA,
real, dimension(:), intent(in)  PPS,
real, dimension(:), intent(in)  PRHOA,
real, dimension(:), intent(in)  PZ0EFF,
real, dimension(:), intent(in)  PUREF,
logical, intent(in)  OSNOWDRIFT_SUBLIM,
character(3), intent(in)  HSNOWMETAMO,
real, dimension(:), intent(out)  PSNDRIFT 
)

Definition at line 4689 of file snowcro.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ snownlfall_upgrid()

subroutine snowcro::snownlfall_upgrid ( type(date_time), intent(in)  TPTIME,
logical, intent(in)  OGLACIER,
real, intent(in)  PTSTEP,
real, dimension(:), intent(in)  PSR,
real, dimension(:), intent(in)  PTA,
real, dimension(:), intent(in)  PVMOD 
)

Definition at line 3593 of file snowcro.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ snownlgridfresh_1d()

subroutine snowcro::snownlgridfresh_1d ( integer, intent(in)  KJ,
real, intent(in)  PSNOW,
real, dimension(:), intent(inout)  PSNOWDZ,
real, dimension(:), intent(inout)  PSNOWDZN 
)

Definition at line 4464 of file snowcro.F90.

Here is the call graph for this function:
Here is the caller graph for this function: