SURFEX v7.3
General documentation of Surfex
|
00001 ! ################# 00002 MODULE MODD_SEAFLUX_n 00003 ! ################# 00004 ! 00005 !!**** *MODD_SEAFLUX_n - declaration of surface parameters for an inland water surface 00006 !! 00007 !! PURPOSE 00008 !! ------- 00009 ! Declaration of surface parameters 00010 ! 00011 !! 00012 !!** IMPLICIT ARGUMENTS 00013 !! ------------------ 00014 !! None 00015 !! 00016 !! REFERENCE 00017 !! --------- 00018 !! 00019 !! AUTHOR 00020 !! ------ 00021 !! V. Masson *Meteo France* 00022 !! 00023 !! MODIFICATIONS 00024 !! ------------- 00025 !! Original 01/2004 00026 ! 00027 !* 0. DECLARATIONS 00028 ! ------------ 00029 ! 00030 USE MODD_TYPE_DATE_SURF 00031 ! 00032 ! 00033 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00034 USE PARKIND1 ,ONLY : JPRB 00035 ! 00036 IMPLICIT NONE 00037 00038 TYPE SEAFLUX_t 00039 ! 00040 ! General surface: 00041 ! 00042 REAL, POINTER, DIMENSION(:) :: XZS ! orography 00043 REAL, POINTER, DIMENSION(:,:) :: XCOVER ! fraction of each ecosystem (-) 00044 LOGICAL, POINTER, DIMENSION(:):: LCOVER ! GCOVER(i)=T --> ith cover field is not 0. 00045 LOGICAL :: LSBL ! T: SBL scheme between sea and atm. forcing level 00046 ! ! F: no atmospheric layers below forcing level 00047 REAL, POINTER, DIMENSION(:) :: XSEABATHY ! bathymetry 00048 ! 00049 LOGICAL :: LINTERPOL_SST ! Quadratic interpotalation of monthly SST 00050 CHARACTER(LEN=6) :: CINTERPOL_SST ! Quadratic interpotalation of monthly SST 00051 ! 00052 ! Type of formulation for the fluxes 00053 ! 00054 CHARACTER(LEN=6) :: CSEA_FLUX ! type of flux computation 00055 CHARACTER(LEN=4) :: CSEA_ALB ! type of albedo 00056 LOGICAL :: LPWG ! flag for gust 00057 LOGICAL :: LPRECIP ! flag for precip correction 00058 LOGICAL :: LPWEBB ! flag for heat flux correction 00059 INTEGER :: NGRVWAVES ! set to 0,1 or 2 according to the 00060 ! gravity waves model used in coare30_flux 00061 REAL :: XICHCE ! CE coef calculation for ECUME 00062 ! 00063 ! Sea/Ocean: 00064 ! 00065 REAL, POINTER, DIMENSION(:) :: XSST ! sea surface temperature 00066 REAL, POINTER, DIMENSION(:) :: XTICE ! sea ice temperature 00067 REAL, POINTER, DIMENSION(:) :: XSST_INI! initial sea surface temperature 00068 REAL, POINTER, DIMENSION(:) :: XZ0 ! roughness length 00069 REAL, POINTER, DIMENSION(:) :: XZ0H ! roughness length for heat 00070 REAL, POINTER, DIMENSION(:) :: XEMIS ! emissivity 00071 REAL, POINTER, DIMENSION(:) :: XDIR_ALB! direct albedo 00072 REAL, POINTER, DIMENSION(:) :: XSCA_ALB! diffuse albedo 00073 REAL, POINTER, DIMENSION(:) :: XICE_ALB! sea-ice albedo from GELATO (for ESM coupling) 00074 REAL, POINTER, DIMENSION(:) :: XUMER ! U composant of sea current (for ESM coupling) 00075 REAL, POINTER, DIMENSION(:) :: XVMER ! V composant of sea current (for ESM coupling) 00076 ! 00077 REAL, POINTER, DIMENSION(:,:) :: XSST_MTH! monthly sea surface temperature (precedent, current and next) 00078 ! 00079 REAL, POINTER, DIMENSION(:) :: XCPL_SEA_WIND ! 10m wind speed for ESM coupling 00080 REAL, POINTER, DIMENSION(:) :: XCPL_SEA_FWSU ! zonal wind stress for ESM coupling 00081 REAL, POINTER, DIMENSION(:) :: XCPL_SEA_FWSV ! meridian wind stress for ESM coupling 00082 REAL, POINTER, DIMENSION(:) :: XCPL_SEA_SNET ! Solar net heat flux 00083 REAL, POINTER, DIMENSION(:) :: XCPL_SEA_HEAT ! Non solar net heat flux 00084 REAL, POINTER, DIMENSION(:) :: XCPL_SEA_EVAP ! Evaporation for ESM coupling 00085 REAL, POINTER, DIMENSION(:) :: XCPL_SEA_RAIN ! Rainfall for ESM coupling 00086 REAL, POINTER, DIMENSION(:) :: XCPL_SEA_SNOW ! Snowfall for ESM coupling 00087 REAL, POINTER, DIMENSION(:) :: XCPL_SEA_FWSM ! wind stress for ESM coupling 00088 ! 00089 REAL, POINTER, DIMENSION(:) :: XCPL_SEAICE_SNET ! Solar net heat flux for ESM coupling 00090 REAL, POINTER, DIMENSION(:) :: XCPL_SEAICE_HEAT ! Non solar net heat flux 00091 REAL, POINTER, DIMENSION(:) :: XCPL_SEAICE_EVAP ! Ice sublimation for ESM coupling 00092 ! 00093 ! Date: 00094 ! 00095 TYPE (DATE_TIME) :: TTIME ! current date and time 00096 TYPE (DATE_TIME) :: TZTIME 00097 LOGICAL :: LTZTIME_DONE 00098 INTEGER :: JSX 00099 ! 00100 ! Time-step: 00101 ! 00102 REAL :: XTSTEP ! time step 00103 ! 00104 REAL :: XOUT_TSTEP ! output writing time step 00105 ! 00106 ! 00107 ! 00108 END TYPE SEAFLUX_t 00109 00110 TYPE(SEAFLUX_t), ALLOCATABLE, TARGET, SAVE :: SEAFLUX_MODEL(:) 00111 00112 REAL, POINTER, DIMENSION(:) :: XZS=>NULL() 00113 !$OMP THREADPRIVATE(XZS) 00114 REAL, POINTER, DIMENSION(:,:) :: XCOVER=>NULL() 00115 !$OMP THREADPRIVATE(XCOVER) 00116 LOGICAL, POINTER, DIMENSION(:):: LCOVER=>NULL() 00117 !$OMP THREADPRIVATE(LCOVER) 00118 LOGICAL, POINTER :: LSBL=>NULL() 00119 !$OMP THREADPRIVATE(LSBL) 00120 REAL, POINTER, DIMENSION(:) :: XSEABATHY=>NULL() 00121 !$OMP THREADPRIVATE(XSEABATHY) 00122 CHARACTER(LEN=6), POINTER :: CSEA_FLUX=>NULL() 00123 !$OMP THREADPRIVATE(CSEA_FLUX) 00124 CHARACTER(LEN=4), POINTER :: CSEA_ALB=>NULL() 00125 !$OMP THREADPRIVATE(CSEA_ALB) 00126 LOGICAL, POINTER :: LPWG=>NULL() 00127 !$OMP THREADPRIVATE(LPWG) 00128 LOGICAL, POINTER :: LPRECIP=>NULL() 00129 !$OMP THREADPRIVATE(LPRECIP) 00130 LOGICAL, POINTER :: LPWEBB=>NULL() 00131 !$OMP THREADPRIVATE(LPWEBB) 00132 INTEGER, POINTER :: NGRVWAVES=>NULL() 00133 !$OMP THREADPRIVATE(NGRVWAVES) 00134 LOGICAL, POINTER :: LINTERPOL_SST=>NULL() 00135 !$OMP THREADPRIVATE(LINTERPOL_SST) 00136 CHARACTER(LEN=6), POINTER :: CINTERPOL_SST=>NULL() 00137 !$OMP THREADPRIVATE(CINTERPOL_SST) 00138 REAL, POINTER :: XICHCE=>NULL() 00139 !$OMP THREADPRIVATE(XICHCE) 00140 REAL, POINTER, DIMENSION(:) :: XSST=>NULL() 00141 !$OMP THREADPRIVATE(XSST) 00142 REAL, POINTER, DIMENSION(:) :: XTICE=>NULL() 00143 !$OMP THREADPRIVATE(XTICE) 00144 REAL, POINTER, DIMENSION(:,:) :: XSST_MTH=>NULL() 00145 !$OMP THREADPRIVATE(XSST_MTH) 00146 REAL, POINTER, DIMENSION(:) :: XSST_INI=>NULL() 00147 !$OMP THREADPRIVATE(XSST_INI) 00148 REAL, POINTER, DIMENSION(:) :: XZ0=>NULL() 00149 !$OMP THREADPRIVATE(XZ0) 00150 REAL, POINTER, DIMENSION(:) :: XZ0H=>NULL() 00151 !$OMP THREADPRIVATE(XZ0H) 00152 REAL, POINTER, DIMENSION(:) :: XEMIS=>NULL() 00153 !$OMP THREADPRIVATE(XEMIS) 00154 REAL, POINTER, DIMENSION(:) :: XDIR_ALB=>NULL() 00155 !$OMP THREADPRIVATE(XDIR_ALB) 00156 REAL, POINTER, DIMENSION(:) :: XSCA_ALB=>NULL() 00157 !$OMP THREADPRIVATE(XSCA_ALB) 00158 REAL, POINTER, DIMENSION(:) :: XICE_ALB=>NULL() 00159 !$OMP THREADPRIVATE(XICE_ALB) 00160 REAL, POINTER, DIMENSION(:) :: XUMER=>NULL() 00161 !$OMP THREADPRIVATE(XUMER) 00162 REAL, POINTER, DIMENSION(:) :: XVMER=>NULL() 00163 !$OMP THREADPRIVATE(XVMER) 00164 REAL, POINTER, DIMENSION(:) :: XCPL_SEA_WIND=>NULL() 00165 !$OMP THREADPRIVATE(XCPL_SEA_WIND) 00166 REAL, POINTER, DIMENSION(:) :: XCPL_SEA_FWSU=>NULL() 00167 !$OMP THREADPRIVATE(XCPL_SEA_FWSU) 00168 REAL, POINTER, DIMENSION(:) :: XCPL_SEA_FWSV=>NULL() 00169 !$OMP THREADPRIVATE(XCPL_SEA_FWSV) 00170 REAL, POINTER, DIMENSION(:) :: XCPL_SEA_SNET=>NULL() 00171 !$OMP THREADPRIVATE(XCPL_SEA_SNET) 00172 REAL, POINTER, DIMENSION(:) :: XCPL_SEA_HEAT=>NULL() 00173 !$OMP THREADPRIVATE(XCPL_SEA_HEAT) 00174 REAL, POINTER, DIMENSION(:) :: XCPL_SEA_EVAP=>NULL() 00175 !$OMP THREADPRIVATE(XCPL_SEA_EVAP) 00176 REAL, POINTER, DIMENSION(:) :: XCPL_SEA_RAIN=>NULL() 00177 !$OMP THREADPRIVATE(XCPL_SEA_RAIN) 00178 REAL, POINTER, DIMENSION(:) :: XCPL_SEA_SNOW=>NULL() 00179 !$OMP THREADPRIVATE(XCPL_SEA_SNOW) 00180 REAL, POINTER, DIMENSION(:) :: XCPL_SEA_FWSM=>NULL() 00181 !$OMP THREADPRIVATE(XCPL_SEA_FWSM) 00182 REAL, POINTER, DIMENSION(:) :: XCPL_SEAICE_SNET=>NULL() 00183 !$OMP THREADPRIVATE(XCPL_SEAICE_SNET) 00184 REAL, POINTER, DIMENSION(:) :: XCPL_SEAICE_HEAT=>NULL() 00185 !$OMP THREADPRIVATE(XCPL_SEAICE_HEAT) 00186 REAL, POINTER, DIMENSION(:) :: XCPL_SEAICE_EVAP=>NULL() 00187 !$OMP THREADPRIVATE(XCPL_SEAICE_EVAP) 00188 TYPE (DATE_TIME), POINTER :: TTIME=>NULL() 00189 !$OMP THREADPRIVATE(TTIME) 00190 TYPE (DATE_TIME), POINTER :: TZTIME=>NULL() 00191 !$OMP THREADPRIVATE(TZTIME) 00192 LOGICAL, POINTER :: LTZTIME_DONE=>NULL() 00193 !$OMP THREADPRIVATE(LTZTIME_DONE) 00194 INTEGER, POINTER :: JSX=>NULL() 00195 !$OMP THREADPRIVATE(JSX) 00196 REAL, POINTER :: XTSTEP=>NULL() 00197 !$OMP THREADPRIVATE(XTSTEP) 00198 REAL, POINTER :: XOUT_TSTEP=>NULL() 00199 !$OMP THREADPRIVATE(XOUT_TSTEP) 00200 00201 CONTAINS 00202 00203 SUBROUTINE SEAFLUX_GOTO_MODEL(KFROM, KTO, LKFROM) 00204 LOGICAL, INTENT(IN) :: LKFROM 00205 INTEGER, INTENT(IN) :: KFROM, KTO 00206 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00207 ! 00208 ! Save current state for allocated arrays 00209 IF (LKFROM) THEN 00210 SEAFLUX_MODEL(KFROM)%XZS=>XZS 00211 SEAFLUX_MODEL(KFROM)%XCOVER=>XCOVER 00212 SEAFLUX_MODEL(KFROM)%LCOVER=>LCOVER 00213 SEAFLUX_MODEL(KFROM)%XSEABATHY=>XSEABATHY 00214 SEAFLUX_MODEL(KFROM)%XSST=>XSST 00215 SEAFLUX_MODEL(KFROM)%XTICE=>XTICE 00216 SEAFLUX_MODEL(KFROM)%XSST_MTH=>XSST_MTH 00217 SEAFLUX_MODEL(KFROM)%XSST_INI=>XSST_INI 00218 SEAFLUX_MODEL(KFROM)%XZ0=>XZ0 00219 SEAFLUX_MODEL(KFROM)%XZ0H=>XZ0H 00220 SEAFLUX_MODEL(KFROM)%XEMIS=>XEMIS 00221 SEAFLUX_MODEL(KFROM)%XDIR_ALB=>XDIR_ALB 00222 SEAFLUX_MODEL(KFROM)%XSCA_ALB=>XSCA_ALB 00223 SEAFLUX_MODEL(KFROM)%XICE_ALB=>XICE_ALB 00224 SEAFLUX_MODEL(KFROM)%XUMER=>XUMER 00225 SEAFLUX_MODEL(KFROM)%XVMER=>XVMER 00226 SEAFLUX_MODEL(KFROM)%XCPL_SEA_WIND=>XCPL_SEA_WIND 00227 SEAFLUX_MODEL(KFROM)%XCPL_SEA_FWSU=>XCPL_SEA_FWSU 00228 SEAFLUX_MODEL(KFROM)%XCPL_SEA_FWSV=>XCPL_SEA_FWSV 00229 SEAFLUX_MODEL(KFROM)%XCPL_SEA_SNET=>XCPL_SEA_SNET 00230 SEAFLUX_MODEL(KFROM)%XCPL_SEA_HEAT=>XCPL_SEA_HEAT 00231 SEAFLUX_MODEL(KFROM)%XCPL_SEA_EVAP=>XCPL_SEA_EVAP 00232 SEAFLUX_MODEL(KFROM)%XCPL_SEA_RAIN=>XCPL_SEA_RAIN 00233 SEAFLUX_MODEL(KFROM)%XCPL_SEA_SNOW=>XCPL_SEA_SNOW 00234 SEAFLUX_MODEL(KFROM)%XCPL_SEA_FWSM=>XCPL_SEA_FWSM 00235 SEAFLUX_MODEL(KFROM)%XCPL_SEAICE_SNET=>XCPL_SEAICE_SNET 00236 SEAFLUX_MODEL(KFROM)%XCPL_SEAICE_HEAT=>XCPL_SEAICE_HEAT 00237 SEAFLUX_MODEL(KFROM)%XCPL_SEAICE_EVAP=>XCPL_SEAICE_EVAP 00238 ENDIF 00239 ! 00240 ! Current model is set to model KTO 00241 IF (LHOOK) CALL DR_HOOK('MODD_SEAFLUX_N:SEAFLUX_GOTO_MODEL',0,ZHOOK_HANDLE) 00242 XZS=>SEAFLUX_MODEL(KTO)%XZS 00243 XCOVER=>SEAFLUX_MODEL(KTO)%XCOVER 00244 LCOVER=>SEAFLUX_MODEL(KTO)%LCOVER 00245 LSBL=>SEAFLUX_MODEL(KTO)%LSBL 00246 XSEABATHY=>SEAFLUX_MODEL(KTO)%XSEABATHY 00247 CSEA_FLUX=>SEAFLUX_MODEL(KTO)%CSEA_FLUX 00248 CSEA_ALB=>SEAFLUX_MODEL(KTO)%CSEA_ALB 00249 LPWG=>SEAFLUX_MODEL(KTO)%LPWG 00250 LPRECIP=>SEAFLUX_MODEL(KTO)%LPRECIP 00251 LINTERPOL_SST=>SEAFLUX_MODEL(KTO)%LINTERPOL_SST 00252 CINTERPOL_SST=>SEAFLUX_MODEL(KTO)%CINTERPOL_SST 00253 LPWEBB=>SEAFLUX_MODEL(KTO)%LPWEBB 00254 NGRVWAVES=>SEAFLUX_MODEL(KTO)%NGRVWAVES 00255 XICHCE=>SEAFLUX_MODEL(KTO)%XICHCE 00256 XSST=>SEAFLUX_MODEL(KTO)%XSST 00257 XTICE=>SEAFLUX_MODEL(KTO)%XTICE 00258 XSST_MTH=>SEAFLUX_MODEL(KTO)%XSST_MTH 00259 XSST_INI=>SEAFLUX_MODEL(KTO)%XSST_INI 00260 XZ0=>SEAFLUX_MODEL(KTO)%XZ0 00261 XZ0H=>SEAFLUX_MODEL(KTO)%XZ0H 00262 XEMIS=>SEAFLUX_MODEL(KTO)%XEMIS 00263 XDIR_ALB=>SEAFLUX_MODEL(KTO)%XDIR_ALB 00264 XSCA_ALB=>SEAFLUX_MODEL(KTO)%XSCA_ALB 00265 XICE_ALB=>SEAFLUX_MODEL(KTO)%XICE_ALB 00266 XUMER=>SEAFLUX_MODEL(KTO)%XUMER 00267 XVMER=>SEAFLUX_MODEL(KTO)%XVMER 00268 XCPL_SEA_WIND=>SEAFLUX_MODEL(KTO)%XCPL_SEA_WIND 00269 XCPL_SEA_FWSU=>SEAFLUX_MODEL(KTO)%XCPL_SEA_FWSU 00270 XCPL_SEA_FWSV=>SEAFLUX_MODEL(KTO)%XCPL_SEA_FWSV 00271 XCPL_SEA_SNET=>SEAFLUX_MODEL(KTO)%XCPL_SEA_SNET 00272 XCPL_SEA_HEAT=>SEAFLUX_MODEL(KTO)%XCPL_SEA_HEAT 00273 XCPL_SEA_EVAP=>SEAFLUX_MODEL(KTO)%XCPL_SEA_EVAP 00274 XCPL_SEA_RAIN=>SEAFLUX_MODEL(KTO)%XCPL_SEA_RAIN 00275 XCPL_SEA_SNOW=>SEAFLUX_MODEL(KTO)%XCPL_SEA_SNOW 00276 XCPL_SEA_FWSM=>SEAFLUX_MODEL(KTO)%XCPL_SEA_FWSM 00277 XCPL_SEAICE_SNET=>SEAFLUX_MODEL(KTO)%XCPL_SEAICE_SNET 00278 XCPL_SEAICE_HEAT=>SEAFLUX_MODEL(KTO)%XCPL_SEAICE_HEAT 00279 XCPL_SEAICE_EVAP=>SEAFLUX_MODEL(KTO)%XCPL_SEAICE_EVAP 00280 TTIME=>SEAFLUX_MODEL(KTO)%TTIME 00281 TZTIME=>SEAFLUX_MODEL(KTO)%TZTIME 00282 LTZTIME_DONE=>SEAFLUX_MODEL(KTO)%LTZTIME_DONE 00283 JSX=>SEAFLUX_MODEL(KTO)%JSX 00284 XTSTEP=>SEAFLUX_MODEL(KTO)%XTSTEP 00285 XOUT_TSTEP=>SEAFLUX_MODEL(KTO)%XOUT_TSTEP 00286 IF (LHOOK) CALL DR_HOOK('MODD_SEAFLUX_N:SEAFLUX_GOTO_MODEL',1,ZHOOK_HANDLE) 00287 00288 END SUBROUTINE SEAFLUX_GOTO_MODEL 00289 00290 SUBROUTINE SEAFLUX_ALLOC(KMODEL) 00291 INTEGER, INTENT(IN) :: KMODEL 00292 INTEGER :: J 00293 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00294 IF (LHOOK) CALL DR_HOOK("MODD_SEAFLUX_N:SEAFLUX_ALLOC",0,ZHOOK_HANDLE) 00295 ALLOCATE(SEAFLUX_MODEL(KMODEL)) 00296 DO J=1,KMODEL 00297 NULLIFY(SEAFLUX_MODEL(J)%XZS) 00298 NULLIFY(SEAFLUX_MODEL(J)%XCOVER) 00299 NULLIFY(SEAFLUX_MODEL(J)%LCOVER) 00300 NULLIFY(SEAFLUX_MODEL(J)%XSEABATHY) 00301 NULLIFY(SEAFLUX_MODEL(J)%XSST) 00302 NULLIFY(SEAFLUX_MODEL(J)%XTICE) 00303 NULLIFY(SEAFLUX_MODEL(J)%XSST_INI) 00304 NULLIFY(SEAFLUX_MODEL(J)%XZ0) 00305 NULLIFY(SEAFLUX_MODEL(J)%XZ0H) 00306 NULLIFY(SEAFLUX_MODEL(J)%XEMIS) 00307 NULLIFY(SEAFLUX_MODEL(J)%XDIR_ALB) 00308 NULLIFY(SEAFLUX_MODEL(J)%XSCA_ALB) 00309 NULLIFY(SEAFLUX_MODEL(J)%XICE_ALB) 00310 NULLIFY(SEAFLUX_MODEL(J)%XUMER) 00311 NULLIFY(SEAFLUX_MODEL(J)%XVMER) 00312 NULLIFY(SEAFLUX_MODEL(J)%XSST_MTH) 00313 NULLIFY(SEAFLUX_MODEL(J)%XCPL_SEA_WIND) 00314 NULLIFY(SEAFLUX_MODEL(J)%XCPL_SEA_FWSU) 00315 NULLIFY(SEAFLUX_MODEL(J)%XCPL_SEA_FWSV) 00316 NULLIFY(SEAFLUX_MODEL(J)%XCPL_SEA_SNET) 00317 NULLIFY(SEAFLUX_MODEL(J)%XCPL_SEA_HEAT) 00318 NULLIFY(SEAFLUX_MODEL(J)%XCPL_SEA_EVAP) 00319 NULLIFY(SEAFLUX_MODEL(J)%XCPL_SEA_RAIN) 00320 NULLIFY(SEAFLUX_MODEL(J)%XCPL_SEA_SNOW) 00321 NULLIFY(SEAFLUX_MODEL(J)%XCPL_SEA_FWSM) 00322 NULLIFY(SEAFLUX_MODEL(J)%XCPL_SEAICE_SNET) 00323 NULLIFY(SEAFLUX_MODEL(J)%XCPL_SEAICE_HEAT) 00324 NULLIFY(SEAFLUX_MODEL(J)%XCPL_SEAICE_EVAP) 00325 ENDDO 00326 SEAFLUX_MODEL(:)%LSBL=.FALSE. 00327 SEAFLUX_MODEL(:)%LINTERPOL_SST=.FALSE. 00328 SEAFLUX_MODEL(:)%CINTERPOL_SST=' ' 00329 SEAFLUX_MODEL(:)%CSEA_FLUX=' ' 00330 SEAFLUX_MODEL(:)%CSEA_ALB=' ' 00331 SEAFLUX_MODEL(:)%LPWG=.FALSE. 00332 SEAFLUX_MODEL(:)%LPRECIP=.FALSE. 00333 SEAFLUX_MODEL(:)%LPWEBB=.FALSE. 00334 SEAFLUX_MODEL(:)%NGRVWAVES=0 00335 SEAFLUX_MODEL(:)%XICHCE=0. 00336 SEAFLUX_MODEL(:)%JSX=0 00337 SEAFLUX_MODEL(:)%LTZTIME_DONE = .FALSE. 00338 SEAFLUX_MODEL(:)%XTSTEP=0. 00339 SEAFLUX_MODEL(:)%XOUT_TSTEP=0. 00340 IF (LHOOK) CALL DR_HOOK("MODD_SEAFLUX_N:SEAFLUX_ALLOC",1,ZHOOK_HANDLE) 00341 END SUBROUTINE SEAFLUX_ALLOC 00342 00343 SUBROUTINE SEAFLUX_DEALLO 00344 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00345 IF (LHOOK) CALL DR_HOOK("MODD_SEAFLUX_N:SEAFLUX_DEALLO",0,ZHOOK_HANDLE) 00346 IF (ALLOCATED(SEAFLUX_MODEL)) DEALLOCATE(SEAFLUX_MODEL) 00347 IF (LHOOK) CALL DR_HOOK("MODD_SEAFLUX_N:SEAFLUX_DEALLO",1,ZHOOK_HANDLE) 00348 END SUBROUTINE SEAFLUX_DEALLO 00349 00350 END MODULE MODD_SEAFLUX_n