- Timestamp:
- 2016-11-28T18:21:42+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_CNRS_2016/NEMOGCM/NEMO/LIM_SRC_3/thd_ice.F90
r7278 r7355 18 18 19 19 PUBLIC thd_ice_alloc ! Routine called by nemogcm.F90 20 21 !!---------------------------22 !! * Share Module variables23 !!---------------------------24 ! !!! ** ice-thermo namelist (namicethd) **25 REAL(wp), PUBLIC :: rn_himin !: minimum ice thickness26 REAL(wp), PUBLIC :: rn_maxfrazb !: maximum portion of frazil ice collecting at the ice bottom27 REAL(wp), PUBLIC :: rn_vfrazb !: threshold drift speed for collection of bottom frazil ice28 REAL(wp), PUBLIC :: rn_Cfrazb !: squeezing coefficient for collection of bottom frazil ice29 REAL(wp), PUBLIC :: rn_hnewice !: thickness for new ice formation (m)30 31 LOGICAL , PUBLIC :: ln_frazil !: use of frazil ice collection as function of wind (T) or not (F)32 20 33 21 !!----------------------------- … … 101 89 ! ! to reintegrate longwave flux inside the ice thermodynamics 102 90 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: i0 !: fraction of radiation transmitted to the ice 103 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: dsm_i_fl_1d !: Ice salinity variations due to flushing104 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: dsm_i_gd_1d !: Ice salinity variations due to gravity drainage105 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: dsm_i_se_1d !: Ice salinity variations due to basal salt entrapment106 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: dsm_i_si_1d !: Ice salinity variations due to lateral accretion107 91 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: hicol_1d !: Ice collection thickness accumulated in leads 108 92 … … 144 128 !!---------------------------------------------------------------------! 145 129 INTEGER :: thd_ice_alloc ! return value 146 INTEGER :: ierr( 3)130 INTEGER :: ierr(4), ii 147 131 !!---------------------------------------------------------------------! 132 ierr(:) = 0 148 133 134 ii = 1 149 135 ALLOCATE( npb (jpij) , nplm (jpij) , npac (jpij) , & 150 136 & qlead_1d (jpij) , ftr_ice_1d(jpij) , qsr_ice_1d (jpij) , & … … 156 142 & hfx_thd_1d(jpij) , hfx_spr_1d(jpij) , & 157 143 & hfx_snw_1d(jpij) , hfx_sub_1d(jpij) , hfx_err_1d(jpij) , & 158 & hfx_res_1d(jpij) , hfx_err_rem_1d(jpij) , hfx_err_dif_1d(jpij) , STAT=ierr( 1) )144 & hfx_res_1d(jpij) , hfx_err_rem_1d(jpij) , hfx_err_dif_1d(jpij) , STAT=ierr(ii) ) 159 145 ! 146 ii = ii + 1 160 147 ALLOCATE( sprecip_1d (jpij) , frld_1d (jpij) , at_i_1d (jpij) , & 161 148 & fhtur_1d (jpij) , wfx_snw_1d (jpij) , wfx_spr_1d (jpij) , & … … 166 153 & sfx_bri_1d (jpij) , sfx_bog_1d (jpij) , sfx_bom_1d (jpij) , sfx_sum_1d (jpij), & 167 154 & sfx_sni_1d (jpij) , sfx_opw_1d (jpij) , sfx_res_1d (jpij) , sfx_sub_1d (jpij), & 168 & dsm_i_fl_1d(jpij) , dsm_i_gd_1d(jpij) , dsm_i_se_1d(jpij) , & 169 & dsm_i_si_1d(jpij) , hicol_1d (jpij) , STAT=ierr(2) ) 155 & hicol_1d (jpij) , STAT=ierr(ii) ) 170 156 ! 171 ALLOCATE( t_su_1d (jpij) , a_i_1d (jpij) , ht_i_1d (jpij) , & 172 & ht_s_1d (jpij) , fc_su (jpij) , fc_bo_i (jpij) , & 173 & dh_s_tot (jpij) , dh_i_surf(jpij) , dh_i_sub (jpij) , & 174 & dh_i_bott (jpij) ,dh_snowice(jpij) , sm_i_1d (jpij) , s_i_new (jpij) , & 175 & t_s_1d(jpij,nlay_s) , t_i_1d(jpij,nlay_i) , s_i_1d(jpij,nlay_i) , & 176 & q_i_1d(jpij,nlay_i+1) , q_s_1d(jpij,nlay_s) , & 177 & qh_i_old(jpij,0:nlay_i+1), h_i_old(jpij,0:nlay_i+1) , STAT=ierr(3)) 157 ii = ii + 1 158 ALLOCATE( t_su_1d (jpij) , a_i_1d (jpij) , ht_i_1d (jpij) , & 159 & ht_s_1d (jpij) , fc_su (jpij) , fc_bo_i (jpij) , & 160 & dh_s_tot (jpij) , dh_i_surf (jpij) , dh_i_sub (jpij) , & 161 & dh_i_bott (jpij) , dh_snowice(jpij) , sm_i_1d (jpij) , s_i_new (jpij) , & 162 & STAT=ierr(ii) ) 178 163 ! 179 thd_ice_alloc = MAXVAL( ierr ) 180 164 ii = ii + 1 165 ALLOCATE( t_s_1d (jpij,nlay_s) , t_i_1d (jpij,nlay_i) , s_i_1d(jpij,nlay_i) , & 166 & q_i_1d (jpij,nlay_i+1) , q_s_1d (jpij,nlay_s) , & 167 & qh_i_old(jpij,0:nlay_i+1) , h_i_old(jpij,0:nlay_i+1) , STAT=ierr(ii) ) 168 ! 169 thd_ice_alloc = MAXVAL( ierr(:) ) 181 170 IF( thd_ice_alloc /= 0 ) CALL ctl_warn( 'thd_ice_alloc: failed to allocate arrays.' ) 182 171 !
Note: See TracChangeset
for help on using the changeset viewer.