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 15574 for NEMO/branches/2021/dev_r14318_RK3_stage1/tests/ISOMIP+/MY_SRC/isf_oce.F90 – NEMO

Ignore:
Timestamp:
2021-12-03T20:32:50+01:00 (3 years ago)
Author:
techene
Message:

#2605 #2715 trunk merged into dev_r14318_RK3_stage1

Location:
NEMO/branches/2021/dev_r14318_RK3_stage1
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14318_RK3_stage1

    • Property svn:externals
      •  

        old new  
        99 
        1010# SETTE 
        11 ^/utils/CI/sette@14244        sette 
         11^/utils/CI/sette@HEAD        sette 
         12 
  • NEMO/branches/2021/dev_r14318_RK3_stage1/tests/ISOMIP+/MY_SRC/isf_oce.F90

    r13583 r15574  
    11MODULE isf_oce 
    22   !!====================================================================== 
    3    !!                       ***  MODULE  sbcisf  *** 
    4    !! Surface module :  compute iceshelf melt and heat flux 
     3   !!                       ***  MODULE  isf_oce  *** 
     4   !! Ice shelves :  ice shelves variables defined in memory 
    55   !!====================================================================== 
    66   !! History :  3.2  !  2011-02  (C.Harris  ) Original code isf cav 
     
    4848   ! 
    4949   ! 0.3 -------- ice shelf cavity parametrised namelist parameter ------------- 
    50    LOGICAL           , PUBLIC :: ln_isfpar_mlt   !: logical for the computation of melt inside the cavity 
    51    CHARACTER(LEN=256), PUBLIC :: cn_isfpar_mlt   !: melt formulation (cavity/param) 
    52    TYPE(FLD_N)       , PUBLIC :: sn_isfpar_fwf   !: information about the isf melting file to be read 
    53    TYPE(FLD_N)       , PUBLIC :: sn_isfpar_zmax  !: information about the grounding line depth file to be read 
    54    TYPE(FLD_N)       , PUBLIC :: sn_isfpar_zmin  !: information about the calving   line depth file to be read 
    55    TYPE(FLD_N)       , PUBLIC :: sn_isfpar_Leff  !: information about the effective length     file to be read 
     50   LOGICAL           , PUBLIC :: ln_isfpar_mlt      !: logical for the computation of melt inside the cavity 
     51   REAL(wp)          , PUBLIC :: rn_isfpar_bg03_gt0 !: temperature exchange coeficient [m/s] 
     52   CHARACTER(LEN=256), PUBLIC :: cn_isfpar_mlt      !: melt formulation (cavity/param) 
     53   TYPE(FLD_N)       , PUBLIC :: sn_isfpar_fwf      !: information about the isf melting file to be read 
     54   TYPE(FLD_N)       , PUBLIC :: sn_isfpar_zmax     !: information about the grounding line depth file to be read 
     55   TYPE(FLD_N)       , PUBLIC :: sn_isfpar_zmin     !: information about the calving   line depth file to be read 
     56   TYPE(FLD_N)       , PUBLIC :: sn_isfpar_Leff     !: information about the effective length     file to be read 
    5657   ! 
    5758   ! 0.4 -------- coupling namelist parameter ------------- 
     
    147148   END SUBROUTINE isf_alloc_par 
    148149 
     150    
    149151   SUBROUTINE isf_alloc_cav() 
    150152      !!--------------------------------------------------------------------- 
     
    174176   END SUBROUTINE isf_alloc_cav 
    175177 
     178    
    176179   SUBROUTINE isf_alloc_cpl() 
    177180      !!--------------------------------------------------------------------- 
     
    185188      ierr = 0 
    186189      ! 
    187       ALLOCATE( risfcpl_ssh(jpi,jpj), risfcpl_tsc(jpi,jpj,jpk,jpts), risfcpl_vol(jpi,jpj,jpk), STAT=ialloc ) 
    188       ierr = ierr + ialloc 
    189       ! 
    190       risfcpl_tsc(:,:,:,:) = 0.0 ; risfcpl_vol(:,:,:) = 0.0 ; risfcpl_ssh(:,:) = 0.0 
    191  
    192       IF ( ln_isfcpl_cons) THEN 
    193          ALLOCATE( risfcpl_cons_tsc(jpi,jpj,jpk,jpts) , risfcpl_cons_vol(jpi,jpj,jpk) ,risfcpl_cons_ssh(jpi,jpj), STAT=ialloc ) 
     190      ALLOCATE( risfcpl_ssh(jpi,jpj) , risfcpl_tsc(jpi,jpj,jpk,jpts) , risfcpl_vol(jpi,jpj,jpk) , STAT=ialloc ) 
     191      ierr = ierr + ialloc 
     192      ! 
     193      risfcpl_tsc(:,:,:,:) = 0._wp ; risfcpl_vol(:,:,:) = 0._wp ; risfcpl_ssh(:,:) = 0._wp 
     194 
     195      IF ( ln_isfcpl_cons ) THEN 
     196         ALLOCATE( risfcpl_cons_tsc(jpi,jpj,jpk,jpts) , risfcpl_cons_vol(jpi,jpj,jpk) , risfcpl_cons_ssh(jpi,jpj) , STAT=ialloc ) 
    194197         ierr = ierr + ialloc 
    195198         ! 
    196          risfcpl_cons_tsc(:,:,:,:) = 0.0 ; risfcpl_cons_vol(:,:,:) = 0.0 ; risfcpl_cons_ssh(:,:) = 0.0 
     199         risfcpl_cons_tsc(:,:,:,:) = 0._wp ; risfcpl_cons_vol(:,:,:) = 0._wp ; risfcpl_cons_ssh(:,:) = 0._wp 
    197200         ! 
    198201      END IF 
     
    203206   END SUBROUTINE isf_alloc_cpl 
    204207 
     208    
    205209   SUBROUTINE isf_dealloc_cpl() 
    206210      !!--------------------------------------------------------------------- 
     
    214218      ierr = 0 
    215219      ! 
    216       DEALLOCATE( risfcpl_ssh, risfcpl_tsc, risfcpl_vol, STAT=ialloc ) 
     220      DEALLOCATE( risfcpl_ssh , risfcpl_tsc , risfcpl_vol , STAT=ialloc ) 
    217221      ierr = ierr + ialloc 
    218222      ! 
     
    222226   END SUBROUTINE isf_dealloc_cpl 
    223227 
     228    
    224229   SUBROUTINE isf_alloc() 
    225230      !!--------------------------------------------------------------------- 
     
    234239      ierr = 0       ! set to zero if no array to be allocated 
    235240      ! 
    236       ALLOCATE(fwfisf_par(jpi,jpj)  , fwfisf_par_b(jpi,jpj), & 
    237          &     fwfisf_cav(jpi,jpj)  , fwfisf_cav_b(jpi,jpj), & 
    238          &     fwfisf_oasis(jpi,jpj),            STAT=ialloc ) 
    239       ierr = ierr + ialloc 
    240       ! 
    241       ALLOCATE(risf_par_tsc(jpi,jpj,jpts), risf_par_tsc_b(jpi,jpj,jpts), STAT=ialloc ) 
    242       ierr = ierr + ialloc 
    243       ! 
    244       ALLOCATE(risf_cav_tsc(jpi,jpj,jpts), risf_cav_tsc_b(jpi,jpj,jpts), STAT=ialloc ) 
    245       ierr = ierr + ialloc 
    246       ! 
    247       ALLOCATE(risfload(jpi,jpj), STAT=ialloc) 
    248       ierr = ierr + ialloc 
    249       ! 
    250       ALLOCATE( mskisf_cav(jpi,jpj), STAT=ialloc) 
     241      ALLOCATE( fwfisf_par  (jpi,jpj) , fwfisf_par_b(jpi,jpj) ,    & 
     242         &      fwfisf_cav  (jpi,jpj) , fwfisf_cav_b(jpi,jpj) ,    & 
     243         &      fwfisf_oasis(jpi,jpj)                         , STAT=ialloc ) 
     244      ierr = ierr + ialloc 
     245      ! 
     246      ALLOCATE( risf_par_tsc(jpi,jpj,jpts) , risf_par_tsc_b(jpi,jpj,jpts) , STAT=ialloc ) 
     247      ierr = ierr + ialloc 
     248      ! 
     249      ALLOCATE( risf_cav_tsc(jpi,jpj,jpts) , risf_cav_tsc_b(jpi,jpj,jpts) , STAT=ialloc ) 
     250      ierr = ierr + ialloc 
     251      ! 
     252      ALLOCATE( risfload(jpi,jpj) , STAT=ialloc ) 
     253      ierr = ierr + ialloc 
     254      ! 
     255      ALLOCATE( mskisf_cav(jpi,jpj) , STAT=ialloc ) 
    251256      ierr = ierr + ialloc 
    252257      ! 
     
    255260      ! 
    256261      ! initalisation of fwf and tsc array to 0 
    257       risfload(:,:)       = 0.0_wp 
    258       fwfisf_oasis(:,:)   = 0.0_wp 
    259       fwfisf_par(:,:)     = 0.0_wp    ; fwfisf_par_b(:,:)     = 0.0_wp 
    260       fwfisf_cav(:,:)     = 0.0_wp    ; fwfisf_cav_b(:,:)     = 0.0_wp 
    261       risf_cav_tsc(:,:,:) = 0.0_wp    ; risf_cav_tsc_b(:,:,:) = 0.0_wp 
    262       risf_par_tsc(:,:,:) = 0.0_wp    ; risf_par_tsc_b(:,:,:) = 0.0_wp 
    263       ! 
    264  
     262      risfload    (:,:)   = 0._wp 
     263      fwfisf_oasis(:,:)   = 0._wp 
     264      fwfisf_par  (:,:)   = 0._wp   ;   fwfisf_par_b  (:,:)   = 0._wp 
     265      fwfisf_cav  (:,:)   = 0._wp   ;   fwfisf_cav_b  (:,:)   = 0._wp 
     266      risf_cav_tsc(:,:,:) = 0._wp   ;   risf_cav_tsc_b(:,:,:) = 0._wp 
     267      risf_par_tsc(:,:,:) = 0._wp   ;   risf_par_tsc_b(:,:,:) = 0._wp 
     268      ! 
    265269   END SUBROUTINE isf_alloc 
    266  
     270    
     271   !!====================================================================== 
    267272END MODULE isf_oce 
Note: See TracChangeset for help on using the changeset viewer.