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