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 5953 – NEMO

Changeset 5953


Ignore:
Timestamp:
2015-11-30T13:41:30+01:00 (8 years ago)
Author:
mathiot
Message:

ISF: minor changes before merge

Location:
branches/2015/dev_r5151_UKMO_ISF/NEMOGCM
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5151_UKMO_ISF/NEMOGCM/CONFIG/SHARED/namelist_ref

    r5905 r5953  
    437437&namsbc_isf    !  Top boundary layer (ISF) 
    438438!----------------------------------------------------------------------- 
    439 !              ! file name ! frequency (hours) ! variable ! time interpol. !  clim   ! 'yearly'/ ! weights  ! rotation ! 
    440 !              !           !  (if <0  months)  !   name   !    (logical)   !  (T/F)  ! 'monthly' ! filename ! pairing  ! 
     439!              ! file name ! frequency (hours) ! variable ! time interpol. !  clim   ! 'yearly'/ ! weights  ! rotation ! land/sea mask ! 
     440!              !           !  (if <0  months)  !   name   !    (logical)   !  (T/F)  ! 'monthly' ! filename ! pairing  ! filename      ! 
    441441! nn_isf == 4 
    442    sn_fwfisf   = 'rnfisf'  ,         -12       ,'sowflisf',     .false.    , .true.  , 'yearly'  ,  ''      ,   '' 
     442   sn_fwfisf   = 'rnfisf'  ,         -12       ,'sowflisf',     .false.    , .true.  , 'yearly'  ,  ''      ,   ''     , '' 
    443443! nn_isf == 3 
    444    sn_rnfisf   = 'rnfisf'  ,         -12       ,'sofwfisf',     .false.    , .true.  , 'yearly'  ,  ''      ,   '' 
     444   sn_rnfisf   = 'rnfisf'  ,         -12       ,'sofwfisf',     .false.    , .true.  , 'yearly'  ,  ''      ,   ''     , '' 
    445445! nn_isf == 2 and 3 
    446    sn_depmax_isf = 'rnfisf' ,        -12       ,'sozisfmax' ,   .false.    , .true.  , 'yearly'  ,  ''      ,   '' 
    447    sn_depmin_isf = 'rnfisf' ,        -12       ,'sozisfmin' ,   .false.    , .true.  , 'yearly'  ,  ''      ,   '' 
     446   sn_depmax_isf = 'rnfisf' ,        -12       ,'sozisfmax' ,   .false.    , .true.  , 'yearly'  ,  ''      ,   ''     , '' 
     447   sn_depmin_isf = 'rnfisf' ,        -12       ,'sozisfmin' ,   .false.    , .true.  , 'yearly'  ,  ''      ,   ''     , '' 
    448448! nn_isf == 2 
    449    sn_Leff_isf = 'rnfisf'  ,         -12       ,'Leff'    ,     .false.    , .true.  , 'yearly'  ,  ''      ,   '' 
     449   sn_Leff_isf = 'rnfisf'  ,         -12       ,'Leff'    ,     .false.    , .true.  , 'yearly'  ,  ''      ,   ''     , '' 
    450450! for all case 
    451451   nn_isf      = 1         !  ice shelf melting/freezing 
  • branches/2015/dev_r5151_UKMO_ISF/NEMOGCM/NEMO/OPA_SRC/SBC/sbcisf.F90

    r5944 r5953  
    3636   ! public in order to be able to output then  
    3737 
    38    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   risf_tsc_b, risf_tsc   
    39    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   qisf              !: net heat flux from ice shelf 
     38   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   risf_tsc_b, risf_tsc  !: before and now T & S isf contents [K.m/s & PSU.m/s]  
     39   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   qisf                  !: net heat flux from ice shelf      [W/m2] 
    4040   REAL(wp), PUBLIC ::   rn_hisf_tbl                 !: thickness of top boundary layer [m] 
    4141   INTEGER , PUBLIC ::   nn_isf                      !: flag to choose between explicit/param/specified   
    42    INTEGER , PUBLIC ::   nn_isfblk                   !:  
    43    INTEGER , PUBLIC ::   nn_gammablk                 !: 
    44    REAL(wp), PUBLIC ::   rn_gammat0                  !: temperature exchange coeficient 
    45    REAL(wp), PUBLIC ::   rn_gammas0                  !: salinity    exchange coeficient  
     42   INTEGER , PUBLIC ::   nn_isfblk                   !: flag to choose the bulk formulation to compute the ice shelf melting 
     43   INTEGER , PUBLIC ::   nn_gammablk                 !: flag to choose how the exchange coefficient is computed 
     44   REAL(wp), PUBLIC ::   rn_gammat0                  !: temperature exchange coeficient [] 
     45   REAL(wp), PUBLIC ::   rn_gammas0                  !: salinity    exchange coeficient [] 
    4646 
    4747   REAL(wp)   , PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:)     ::  rzisf_tbl              !:depth of calving front (shallowest point) nn_isf ==2/3 
    48    REAL(wp)   , PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:)     ::  rhisf_tbl, rhisf_tbl_0 !:thickness of tbl 
     48   REAL(wp)   , PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:)     ::  rhisf_tbl, rhisf_tbl_0 !:thickness of tbl  [m] 
    4949   REAL(wp)   , PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:)     ::  r1_hisf_tbl            !:1/thickness of tbl 
    5050   REAL(wp)   , PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:)     ::  ralpha                 !:proportion of bottom cell influenced by tbl  
     
    6060 
    6161 
    62    REAL(wp), PUBLIC, SAVE ::   rcpi     = 2000.0_wp     ! phycst ? 
    63    REAL(wp), PUBLIC, SAVE ::   rkappa   = 1.54e-6_wp    ! phycst ? 
    64    REAL(wp), PUBLIC, SAVE ::   rhoisf   = 920.0_wp      ! phycst ? 
    65    REAL(wp), PUBLIC, SAVE ::   tsurf    = -20.0_wp      ! phycst ? 
    66    REAL(wp), PUBLIC, SAVE ::   rlfusisf = 0.334e6_wp    ! phycst ? 
     62   REAL(wp), PUBLIC, SAVE ::   rcpi     = 2000.0_wp     ! specific heat of ice shelf             [J/kg/K] 
     63   REAL(wp), PUBLIC, SAVE ::   rkappa   = 1.54e-6_wp    ! heat diffusivity through the ice-shelf [m2/s] 
     64   REAL(wp), PUBLIC, SAVE ::   rhoisf   = 920.0_wp      ! volumic mass of ice shelf              [kg/m3] 
     65   REAL(wp), PUBLIC, SAVE ::   tsurf    = -20.0_wp      ! air temperature on top of ice shelf    [C] 
     66   REAL(wp), PUBLIC, SAVE ::   rlfusisf = 0.334e6_wp    ! latent heat of fusion of ice shelf     [J/kg] 
    6767 
    6868!: Variable used in fldread to read the forcing file (nn_isf == 4 .OR. nn_isf == 3) 
    6969   CHARACTER(len=100), PUBLIC           :: cn_dirisf  = './' !: Root directory for location of ssr files 
    70    TYPE(FLD_N)       , PUBLIC           :: sn_fwfisf         !: information about the isf file to be read 
     70   TYPE(FLD_N)       , PUBLIC           :: sn_fwfisf         !: information about the isf melting file to be read 
    7171   TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_fwfisf 
    72    TYPE(FLD_N)       , PUBLIC           :: sn_rnfisf         !: information about the runoff file to be read 
     72   TYPE(FLD_N)       , PUBLIC           :: sn_rnfisf         !: information about the isf melting param.  file to be read 
    7373   TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_rnfisf            
    74    TYPE(FLD_N)       , PUBLIC           :: sn_depmax_isf     !: information about the runoff file to be read ?? 
    75    TYPE(FLD_N)       , PUBLIC           :: sn_depmin_isf     !: information about the runoff file to be read ?? 
    76    TYPE(FLD_N)       , PUBLIC           :: sn_Leff_isf       !: information about the runoff file to be read ?? 
     74   TYPE(FLD_N)       , PUBLIC           :: sn_depmax_isf     !: information about the grounding line depth file to be read 
     75   TYPE(FLD_N)       , PUBLIC           :: sn_depmin_isf     !: information about the calving   line depth file to be read 
     76   TYPE(FLD_N)       , PUBLIC           :: sn_Leff_isf       !: information about the effective length     file to be read 
    7777    
    7878   !! * Substitutions 
     
    189189         !  
    190190         ! output 
    191          ! JMM : iom_use not necessary here, qisf and fwfisf are always computed.  
    192          !   If not required in iodef.xml, iom_put does not do anything 
    193 !        IF( iom_use('qisf'  ) )   CALL iom_put('qisf'  , qisf) 
    194 !        IF( iom_use('fwfisf') )   CALL iom_put('fwfisf', fwfisf) 
    195191         CALL iom_put('qisf'  , qisf) 
    196192         CALL iom_put('fwfisf', fwfisf) 
     
    540536      END DO 
    541537      ! 
    542       ! output  see JMM comment above 
    543 !     IF( iom_use('isfgammat') ) CALL iom_put('isfgammat', zgammat) 
    544 !     IF( iom_use('isfgammas') ) CALL iom_put('isfgammas', zgammas) 
    545538      CALL iom_put('isfgammat', zgammat) 
    546539      CALL iom_put('isfgammas', zgammas) 
Note: See TracChangeset for help on using the changeset viewer.