SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/read_namelists_isban.F90
Go to the documentation of this file.
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