SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE READ_NAMELISTS_ISBA_n(HPROGRAM, HINIT) 00003 ! ####################################################### 00004 ! 00005 !--------------------------- 00006 ! 00007 USE MODD_SURF_PAR, ONLY : XUNDEF 00008 ! 00009 USE MODN_ISBA_n 00010 ! 00011 USE MODN_SOILTEMP_ARP 00012 ! 00013 USE MODI_GET_LUOUT 00014 USE MODI_OPEN_NAMELIST 00015 USE MODI_CLOSE_NAMELIST 00016 USE MODE_POS_SURF 00017 ! 00018 USE MODI_DEFAULT_ISBA 00019 USE MODI_DEFAULT_CH_DEP 00020 USE MODI_DEFAULT_CH_BIO_FLUX 00021 USE MODI_DEFAULT_DIAG_ISBA 00022 USE MODI_DEFAULT_CROCUS 00023 ! 00024 USE MODI_READ_DEFAULT_ISBA_n 00025 USE MODI_READ_ISBA_CONF_n 00026 ! 00027 USE MODI_READ_NAM_PREP_ISBA_n 00028 ! 00029 ! 00030 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00031 USE PARKIND1 ,ONLY : JPRB 00032 ! 00033 IMPLICIT NONE 00034 ! 00035 CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM ! program calling surf. schemes 00036 CHARACTER(LEN=3), INTENT(IN) :: HINIT ! choice of fields to initialize 00037 ! 00038 INTEGER :: ILUNAM ! logical unit of namelist file 00039 INTEGER :: ILUOUT 00040 LOGICAL :: GFOUND ! Return code when searching namelist 00041 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00042 ! 00043 !------------------------------------ 00044 ! 00045 IF (LHOOK) CALL DR_HOOK('READ_NAMELISTS_ISBA_N',0,ZHOOK_HANDLE) 00046 CALL DEFAULT_ISBA(XTSTEP, XOUT_TSTEP, & 00047 CROUGH,CRUNOFF,CALBEDO,CSCOND, & 00048 CC1DRY, CSOILFRZ, CDIFSFCOND, CSNOWRES, & 00049 CCPSURF, XCGMAX, XCDRAG, CKSAT, CSOC, & 00050 CTOPREG, CRAIN, CHORT, LFLOOD, LTRIP, & 00051 LGLACIER, LCANOPY_DRAG, LVEGUPD, & 00052 LSPINUPCARBS, LSPINUPCARBW ) 00053 ! 00054 CALL DEFAULT_CH_DEP(CCH_DRY_DEP) 00055 CALL DEFAULT_CH_BIO_FLUX(LCH_BIO_FLUX) 00056 ! 00057 CALL DEFAULT_DIAG_ISBA(N2M,LSURF_BUDGET,L2M_MIN_ZS,LRAD_BUDGET, & 00058 LCOEF,LSURF_VARS,LSURF_EVAP_BUDGET, & 00059 LSURF_MISC_BUDGET,LSURF_BUDGETC, & 00060 LSURF_MISC_DIF,LPATCH_BUDGET, & 00061 LPGD,LRESET_BUDGETC,LWATER_BUDGET, & 00062 XDIAG_TSTEP ) 00063 ! 00064 CALL DEFAULT_CROCUS(LSNOWDRIFT,LSNOWDRIFT_SUBLIM,XZ0ICEZ0SNOW,XRHOTHRESHOLD_ICE,& 00065 XALBICE1,XALBICE2,XALBICE3,XVAGING_NOGLACIER,XVAGING_GLACIER) 00066 ! 00067 CALL READ_DEFAULT_ISBA_n(HPROGRAM) 00068 ! 00069 CALL READ_ISBA_CONF_n(HPROGRAM) 00070 ! 00071 ! 00072 SODELX(:) = XUNDEF 00073 LTEMP_ARP = .FALSE. 00074 NTEMPLAYER_ARP = 4 00075 ! 00076 CALL GET_LUOUT(HPROGRAM,ILUOUT) 00077 ! 00078 CALL OPEN_NAMELIST(HPROGRAM,ILUNAM) 00079 CALL POSNAM(ILUNAM,'NAM_SOILTEMP_ARP',GFOUND,ILUOUT) 00080 IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_SOILTEMP_ARP) 00081 CALL CLOSE_NAMELIST(HPROGRAM,ILUNAM) 00082 ! 00083 IF (HINIT=='PRE') CALL READ_NAM_PREP_ISBA_n(HPROGRAM) 00084 IF (LHOOK) CALL DR_HOOK('READ_NAMELISTS_ISBA_N',1,ZHOOK_HANDLE) 00085 ! 00086 ! 00087 END SUBROUTINE READ_NAMELISTS_ISBA_n