New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 719 for trunk/NEMO/LIM_SRC/ice.F90 – NEMO

Ignore:
Timestamp:
2007-10-16T16:59:56+02:00 (17 years ago)
Author:
ctlod
Message:

get back to the nemo_v2_3 version for trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/LIM_SRC/ice.F90

    • Property svn:keywords changed from Id to Author Date Id Revision
    r717 r719  
    44   !! Sea Ice physics:  diagnostics variables of ice defined in memory 
    55   !!===================================================================== 
    6    !! History :  2.0  !  03-08  (C. Ethe)  F90: Free form and module 
    7    !!---------------------------------------------------------------------- 
    86#if defined key_ice_lim 
    97   !!---------------------------------------------------------------------- 
    108   !!   'key_ice_lim' :                                   LIM sea-ice model 
    119   !!---------------------------------------------------------------------- 
     10   !! History : 
     11   !!   2.0  !  03-08  (C. Ethe)  F90: Free form and module 
     12   !!---------------------------------------------------------------------- 
     13   !!  LIM 2.0, UCL-LOCEAN-IPSL (2005) 
     14   !! $Header$ 
     15   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
     16   !!---------------------------------------------------------------------- 
     17   !! * Modules used 
    1218   USE par_ice          ! LIM sea-ice parameters 
    1319 
     
    1521   PRIVATE 
    1622 
    17    !!* ice-dynamic namelist (namicedyn) * 
    18    INTEGER , PUBLIC ::   nbiter = 1         !: number of sub-time steps for relaxation 
    19    INTEGER , PUBLIC ::   nbitdr = 250       !: maximum number of iterations for relaxation 
    20    REAL(wp), PUBLIC ::   epsd   = 1.0e-20   !: tolerance parameter for dynamic 
    21    REAL(wp), PUBLIC ::   alpha  = 0.5       !: coefficient for semi-implicit coriolis 
    22    REAL(wp), PUBLIC ::   dm     = 0.6e+03   !: diffusion constant for dynamics 
    23    REAL(wp), PUBLIC ::   om     = 0.5       !: relaxation constant 
    24    REAL(wp), PUBLIC ::   resl   = 5.0e-05   !: maximum value for the residual of relaxation 
    25    REAL(wp), PUBLIC ::   cw     = 5.0e-03   !: drag coefficient for oceanic stress 
    26    REAL(wp), PUBLIC ::   angvg  = 0.e0      !: turning angle for oceanic stress 
    27    REAL(wp), PUBLIC ::   pstar  = 1.0e+04   !: first bulk-rheology parameter 
    28    REAL(wp), PUBLIC ::   c_rhg  = 20.e0     !: second bulk-rhelogy parameter 
    29    REAL(wp), PUBLIC ::   etamn  = 0.e+07    !: minimun value for viscosity 
    30    REAL(wp), PUBLIC ::   creepl = 2.e-08    !: creep limit 
    31    REAL(wp), PUBLIC ::   ecc    = 2.e0      !: eccentricity of the elliptical yield curve 
    32    REAL(wp), PUBLIC ::   ahi0   = 350.e0    !: sea-ice hor. eddy diffusivity coeff. (m2/s) 
     23   !! * Share Module variables 
     24   INTEGER , PUBLIC ::   & !!: ** ice-dynamic namelist (namicedyn) ** 
     25      nbiter = 1      ,  &  !: number of sub-time steps for relaxation 
     26      nbitdr = 250          !: maximum number of iterations for relaxation 
    3327 
    34    REAL(wp), PUBLIC ::   usecc2             !:  = 1.0 / ( ecc * ecc ) 
    35    REAL(wp), PUBLIC ::   rhoco              !: = rau0 * cw 
    36    REAL(wp), PUBLIC ::   sangvg, cangvg     !: sin and cos of the turning angle for ocean stress 
    37    REAL(wp), PUBLIC ::   pstarh             !: pstar / 2.0 
     28   REAL(wp), PUBLIC ::   & !!: ** ice-dynamic namelist (namicedyn) ** 
     29      epsd   = 1.0e-20,  &  !: tolerance parameter for dynamic 
     30      alpha  = 0.5    ,  &  !: coefficient for semi-implicit coriolis 
     31      dm     = 0.6e+03,  &  !: diffusion constant for dynamics 
     32      om     = 0.5    ,  &  !: relaxation constant 
     33      resl   = 5.0e-05,  &  !: maximum value for the residual of relaxation 
     34      cw     = 5.0e-03,  &  !: drag coefficient for oceanic stress 
     35      angvg  = 0.e0   ,  &  !: turning angle for oceanic stress 
     36      pstar  = 1.0e+04,  &  !: first bulk-rheology parameter 
     37      c_rhg  = 20.e0  ,  &  !: second bulk-rhelogy parameter 
     38      etamn  = 0.e+07,   &  !: minimun value for viscosity 
     39      creepl = 2.e-08,   &  !: creep limit 
     40      ecc    = 2.e0   ,  &  !: eccentricity of the elliptical yield curve 
     41      ahi0   = 350.e0       !: sea-ice hor. eddy diffusivity coeff. (m2/s) 
    3842 
    39    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   ahiu , ahiv   !: hor. diffusivity coeff. at ocean U- and V-points (m2/s) 
    40    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   pahu , pahv   !: ice hor. eddy diffusivity coef. at ocean U- and V-points 
    41    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   hsnm , hicm   !: mean snow and ice thicknesses 
    42    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   ust2s                 !: friction velocity 
     43   REAL(wp), PUBLIC ::   &  !: 
     44      usecc2          ,  &  !:  = 1.0 / ( ecc * ecc ) 
     45      rhoco           ,  &  !: = rau0 * cw 
     46      sangvg, cangvg  ,  &  !: sin and cos of the turning angle for ocean stress 
     47      pstarh                !: pstar / 2.0 
    4348 
    44    !!* diagnostic quantities 
    45 !! REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   firic         !: IR flux over the ice (only used for outputs) 
    46 !! REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   fcsic         !: Sensible heat flux over the ice (only used for outputs) 
    47 !! REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   fleic         !: Latent heat flux over the ice (only used for outputs) 
    48 !! REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   qlatic        !: latent flux (only used for outputs) 
    49    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   rdvosif       !: Variation of volume at surface (only used for outputs) 
    50    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   rdvobif       !: Variation of ice volume at the bottom ice (only used for outputs) 
    51    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   fdvolif       !: Total variation of ice volume (only used for outputs) 
    52    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   rdvonif       !: Lateral Variation of ice volume (only used for outputs) 
     49   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::  &  !: 
     50      u_oce, v_oce,      &  !: surface ocean velocity used in ice dynamics 
     51      ahiu , ahiv ,      &  !: hor. diffusivity coeff. at ocean U- and V-points (m2/s) 
     52      pahu , pahv ,      &  !: ice hor. eddy diffusivity coef. at ocean U- and V-points 
     53      hsnm , hicm ,      &  !: mean snow and ice thicknesses 
     54      ust2s                 !: friction velocity 
    5355 
    54    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   sist          !: Sea-Ice Surface Temperature (Kelvin ??? degree ??? I don't know) 
    55    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   tfu           !: Freezing/Melting point temperature of sea water at SSS 
    56    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   hicif         !: Ice thickness 
    57    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   hsnif         !: Snow thickness 
    58    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   hicifp        !: Ice production/melting 
    59    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   frld          !: Leads fraction = 1-a/totalarea 
    60    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   phicif        !: ice thickness  at previous time  
    61    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   pfrld         !: Leads fraction at previous time   
    62    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   qstoif        !: Energy stored in the brine pockets 
    63    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   fbif          !: Heat flux at the ice base 
    64    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   rdmsnif       !: Variation of snow mass 
    65    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   rdmicif       !: Variation of ice mass 
    66    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   qldif         !: heat balance of the lead (or of the open ocean) 
    67    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   qcmif         !: Energy needed to bring the ocean surface layer until its freezing  
    68    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   fdtcn         !: net downward heat flux from the ice to the ocean 
    69    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   qdtcn         !: energy from the ice to the ocean point (at a factor 2) 
    70    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   thcm          !: part of the solar energy used in the lead heat budget 
    71    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   fstric        !: Solar flux transmitted trough the ice 
    72    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   ffltbif       !: Array linked with the max heat contained in brine pockets (?) 
    73    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   fscmbq        !: Linked with the solar flux below the ice (?) 
    74    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   fsbbq         !: Also linked with the solar flux below the ice (?) 
    75    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   qfvbq         !: Array used to store energy in case of toral lateral ablation (?) 
    76    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   dmgwi         !: Variation of the mass of snow ice 
     56   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::  &  !: 
     57        sst_ini,         &  !: sst read from a file for ice model initialization  
     58        sss_ini             !: sss read from a file for ice model initialization  
    7759 
    78    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   albege        !: Albedo of the snow or ice (only for outputs) 
    79    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   albecn        !: Albedo of the ocean (only for outputs) 
    80    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   tauc          !: Cloud optical depth 
     60   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   &  !: 
     61      firic  ,   &  !: IR flux over the ice (only used for outputs) 
     62      fcsic  ,   &  !: Sensible heat flux over the ice (only used for outputs) 
     63      fleic  ,   &  !: Latent heat flux over the ice (only used for outputs) 
     64      qlatic ,   &  !: latent flux 
     65      rdvosif,   &  !: Variation of volume at surface (only used for outputs) 
     66      rdvobif,   &  !: Variation of ice volume at the bottom ice (only used for outputs) 
     67      fdvolif,   &  !: Total variation of ice volume (only used for outputs) 
     68      rdvonif,   &  !: Lateral Variation of ice volume (only used for outputs) 
     69      sist   ,   &  !: Sea-Ice Surface Temperature (Kelvin ??? degree ??? I don't know) 
     70      tfu    ,   &  !: Melting point temperature of sea water 
     71      hsnif  ,   &  !: Snow thickness 
     72      hicif  ,   &  !: Ice thickness 
     73      hicifp ,   &  !: Ice production/melting 
     74      frld   ,   &  !: Leads fraction = 1-a/totalarea 
     75      phicif ,   &  !: ice thickness  at previous time  
     76      pfrld  ,   &  !: Leads fraction at previous time   
     77      qstoif ,   &  !: Energy stored in the brine pockets 
     78      fbif   ,   &  !: Heat flux at the ice base 
     79      rdmsnif,   &  !: Variation of snow mass 
     80      rdmicif,   &  !: Variation of ice mass 
     81      qldif  ,   &  !: heat balance of the lead (or of the open ocean) 
     82      qcmif  ,   &  !: Energy needed to bring the ocean surface layer until its freezing  
     83      fdtcn  ,   &  !: net downward heat flux from the ice to the ocean 
     84      qdtcn  ,   &  !: energy from the ice to the ocean 
     85      !             !  point (at a factor 2) 
     86      thcm   ,   &  !: part of the solar energy used in the lead heat budget 
     87      fstric ,   &  !: Solar flux transmitted trough the ice 
     88      ffltbif,   &  !: Array linked with the max heat contained in brine pockets (?) 
     89      fscmbq ,   &  !: Linked with the solar flux below the ice (?) 
     90      fsbbq  ,   &  !: Also linked with the solar flux below the ice (?) 
     91      qfvbq  ,   &  !: Array used to store energy in case of toral lateral ablation (?) 
     92      dmgwi         !: Variation of the mass of snow ice 
    8193 
    82    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   ui_ice, vi_ice   !: two components of the ice   velocity at I-point (m/s) 
    83    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   ui_oce, vi_oce   !: two components of the ocean velocity at I-point (m/s) 
     94   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   &  !: 
     95      albege ,   &  !: Albedo of the snow or ice (only for outputs) 
     96      albecn ,   &  !: Albedo of the ocean (only for outputs) 
     97      tauc   ,   &  !: Cloud optical depth 
     98      sdvt          !: u*^2/(Stress/density) 
    8499 
    85    REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpsmax)     ::   scal0   !: ??? 
    86    REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jplayersp1) ::   tbif  !: Temperature inside the ice/snow layer 
    87100 
    88 !! REAL(wp), DIMENSION(jpi,jpj,0:jpkmax+1) ::   reslum        !: Relative absorption of solar radiation in each ocean level 
     101   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   &  !: 
     102      u_ice, v_ice,   &  !: two components of the ice velocity (m/s) 
     103      tio_u, tio_v       !: two components of the ice-ocean stress (N/m2) 
    89104 
    90    !!* moment used in the advection scheme 
    91    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   sxice, syice, sxxice, syyice, sxyice   !: for ice  volume 
    92    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   sxsn,  sysn,  sxxsn,  syysn,  sxysn    !: for snow volume 
    93    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   sxa,   sya,   sxxa,   syya,   sxya     !: for ice cover area 
    94    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   sxc0,  syc0,  sxxc0,  syyc0,  sxyc0    !: for heat content of snow 
    95    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   sxc1,  syc1,  sxxc1,  syyc1,  sxyc1    !: for heat content of 1st ice layer 
    96    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   sxc2,  syc2,  sxxc2,  syyc2,  sxyc2    !: for heat content of 2nd ice layer 
    97    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   sxst,  syst,  sxxst,  syyst,  sxyst    !: for heat content of brine pockets 
     105   REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpsmax) ::   &  !: 
     106      scal0              !: ??? 
     107 
     108   REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jplayersp1) ::   &  !: 
     109      tbif          !: Temperature inside the ice/snow layer 
     110 
     111   REAL(wp), DIMENSION(jpi,jpj,0:jpkmax+1) ::    &  !: 
     112      reslum        !: Relative absorption of solar radiation in each ocean level 
     113 
     114   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   &  !: 
     115         sxice, syice, sxxice, syyice, sxyice,      &  !: moments for advection 
     116         sxsn,  sysn,  sxxsn,  syysn,  sxysn,       &  !: 
     117         sxa,   sya,   sxxa,   syya,   sxya,        &  !: 
     118         sxc0,  syc0,  sxxc0,  syyc0,  sxyc0,       &  !: 
     119         sxc1,  syc1,  sxxc1,  syyc1,  sxyc1,       &  !: 
     120         sxc2,  syc2,  sxxc2,  syyc2,  sxyc2,       &  !: 
     121         sxst,  syst,  sxxst,  syyst,  sxyst           !: 
    98122 
    99123#else 
     
    103127#endif 
    104128 
    105    !!---------------------------------------------------------------------- 
    106    !!  LIM 2.0, UCL-LOCEAN-IPSL (2006) 
    107    !! $Id$ 
    108    !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    109129   !!====================================================================== 
    110130END MODULE ice 
Note: See TracChangeset for help on using the changeset viewer.