Changeset 5208 for branches/2014/dev_r4650_UKMO11_restart_functionality/NEMOGCM/NEMO/LIM_SRC_3/limistate.F90
- Timestamp:
- 2015-04-13T15:08:59+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4650_UKMO11_restart_functionality/NEMOGCM/NEMO/LIM_SRC_3/limistate.F90
r4688 r5208 6 6 !! History : 2.0 ! 2004-01 (C. Ethe, G. Madec) Original code 7 7 !! 4.0 ! 2011-02 (G. Madec) dynamical allocation 8 !! - ! 201 2 (C. Rousset) add par_oce (for jp_sal)...bug?8 !! - ! 2014 (C. Rousset) add N/S initializations 9 9 !!---------------------------------------------------------------------- 10 10 #if defined key_lim3 … … 29 29 USE lib_fortran ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) 30 30 USE wrk_nemo ! work arrays 31 USE cpl_oasis3, ONLY : lk_cpl32 31 33 32 IMPLICIT NONE … … 36 35 PUBLIC lim_istate ! routine called by lim_init.F90 37 36 38 !! * Module variables39 37 ! !!** init namelist (namiceini) ** 40 38 REAL(wp) :: thres_sst ! threshold water temperature for initial sea ice … … 56 54 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 57 55 !!---------------------------------------------------------------------- 58 59 56 CONTAINS 60 57 … … 80 77 !! 81 78 !! ** Notes : o_i, t_su, t_s, t_i, s_i must be filled everywhere, even 82 !! where there is no ice (clem: I do not know why but it is mandatory)79 !! where there is no ice (clem: I do not know why, is it mandatory?) 83 80 !! 84 81 !! History : … … 116 113 CALL lim_istate_init ! reading the initials parameters of the ice 117 114 118 # if defined key_coupled119 albege(:,:) = 0.8 * tms(:,:)120 # endif121 122 115 ! surface temperature 123 116 DO jl = 1, jpl ! loop over categories … … 125 118 tn_ice(:,:,jl) = rtt * tms(:,:) 126 119 END DO 127 ! Basal temperature is set to the freezing point of seawater in Kelvin 128 t_bo(:,:) = ( tfreez( tsn(:,:,1,jp_sal) ) + rt0 ) * tms(:,:) 120 121 ! basal temperature (considered at freezing point) 122 t_bo(:,:) = ( eos_fzp( tsn(:,:,1,jp_sal) ) + rt0 ) * tms(:,:) 129 123 130 124 IF( ln_limini ) THEN … … 133 127 ! 2) Basal temperature, ice mask and hemispheric index 134 128 !-------------------------------------------------------------------- 135 ! ice if sst <= t-freez + thres_sst 136 DO jj = 1, jpj 129 130 DO jj = 1, jpj ! ice if sst <= t-freez + ttest 137 131 DO ji = 1, jpi 138 IF( ( tsn(ji,jj,1,jp_tem) - ( t_bo(ji,jj) - rt0 ) ) * tms(ji,jj) >= thres_sst ) THEN ; zswitch(ji,jj) = 0._wp * tms(ji,jj) ! no ice 139 ELSE ; zswitch(ji,jj) = 1._wp * tms(ji,jj) ! ice 132 IF( ( tsn(ji,jj,1,jp_tem) - ( t_bo(ji,jj) - rt0 ) ) * tms(ji,jj) >= thres_sst ) THEN 133 zswitch(ji,jj) = 0._wp * tms(ji,jj) ! no ice 134 ELSE 135 zswitch(ji,jj) = 1._wp * tms(ji,jj) ! ice 140 136 ENDIF 141 137 END DO … … 144 140 145 141 ! Hemispheric index 146 ! MV 2011 new initialization147 142 DO jj = 1, jpj 148 143 DO ji = 1, jpi … … 154 149 END DO 155 150 END DO 156 ! END MV 2011 new initialization157 151 158 152 !-------------------------------------------------------------------- … … 299 293 300 294 IF(lwp) THEN 301 WRITE(numout,*) ,' ztests : ', ztests295 WRITE(numout,*) ' ztests : ', ztests 302 296 IF ( ztests .NE. 4 ) THEN 303 297 WRITE(numout,*) 304 WRITE(numout,*) ,' !!!! ALERT !!! '305 WRITE(numout,*) ,' !!!! Something is wrong in the LIM3 initialization procedure '298 WRITE(numout,*) ' !!!! ALERT !!! ' 299 WRITE(numout,*) ' !!!! Something is wrong in the LIM3 initialization procedure ' 306 300 WRITE(numout,*) 307 WRITE(numout,*) ,' *** ztests is not equal to 4 '308 WRITE(numout,*) ,' *** ztest_i (i=1,4) = ', ztest_1, ztest_2, ztest_3, ztest_4309 WRITE(numout,*) ,' zat_i_ini : ', zat_i_ini(i_hemis)310 WRITE(numout,*) ,' zht_i_ini : ', zht_i_ini(i_hemis)301 WRITE(numout,*) ' *** ztests is not equal to 4 ' 302 WRITE(numout,*) ' *** ztest_i (i=1,4) = ', ztest_1, ztest_2, ztest_3, ztest_4 303 WRITE(numout,*) ' zat_i_ini : ', zat_i_ini(i_hemis) 304 WRITE(numout,*) ' zht_i_ini : ', zht_i_ini(i_hemis) 311 305 ENDIF ! ztests .NE. 4 312 306 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.