- Timestamp:
- 2010-04-30T17:49:04+02:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DEV_r1837_mass_heat_salt_fluxes/NEMO/LIM_SRC_2/limistate_2.F90
r1471 r1855 4 4 !! Initialisation of diagnostics ice variables 5 5 !!====================================================================== 6 !! History : 1.0 ! 01-04 (C. Ethe, G. Madec) Original code7 !! 2.0 ! 03-08 (G. Madec) add lim_istate_init8 !! !04-04 (S. Theetten) initialization from a file9 !! !06-07 (S. Masson) IOM to read the restart10 !! !07-10 (G. Madec) surface module6 !! History : 1.0 ! 2001-04 (C. Ethe, G. Madec) Original code 7 !! 2.0 ! 2003-08 (G. Madec) add lim_istate_init 8 !! - ! 2004-04 (S. Theetten) initialization from a file 9 !! - ! 2006-07 (S. Masson) IOM to read the restart 10 !! - ! 2007-10 (G. Madec) surface module 11 11 !!-------------------------------------------------------------------- 12 12 #if defined key_lim2 … … 14 14 !! 'key_lim2' : LIM 2.0 sea-ice model 15 15 !!---------------------------------------------------------------------- 16 !!----------------------------------------------------------------------17 16 !! lim_istate_2 : Initialisation of diagnostics ice variables 18 17 !! lim_istate_init_2 : initialization of ice state and namelist read 19 18 !!---------------------------------------------------------------------- 20 USE phycst21 USE par_ice_2 ! ice parameters22 USE dom_ice_223 USE eosbn2 ! equation of state24 USE lbclnk25 USE oce26 USE ice_227 USE iom 28 USE in_out_manager 19 USE oce ! ocean variables 20 USE ice_2 ! LIM-2 variables 21 USE par_ice_2 ! LIM-2 ice parameters 22 USE dom_ice_2 ! LIM-2 domain 23 USE phycst ! physical constants 24 USE eosbn2 ! equation of state 25 USE lbclnk ! 26 USE iom ! 27 USE in_out_manager ! 29 28 30 29 IMPLICIT NONE 31 30 PRIVATE 32 31 33 PUBLIC lim_istate_2! routine called by lim_init_2.F9034 35 !!! ** init namelist (namiceini) **36 LOGICAL :: ln_limini = .FALSE. ! :Ice initialization state32 PUBLIC lim_istate_2 ! routine called by lim_init_2.F90 33 34 ! !!! ** init namelist (namiceini) ** 35 LOGICAL :: ln_limini = .FALSE. ! Ice initialization state 37 36 REAL(wp) :: ttest = 2.0 ! threshold water temperature for initial sea ice 38 37 REAL(wp) :: hninn = 0.5 ! initial snow thickness in the north … … 45 44 REAL(wp) :: zero = 0.e0 ! constant value = 0 46 45 REAL(wp) :: zone = 1.e0 ! constant value = 1 47 !!---------------------------------------------------------------------- 48 !! LIM 2.0, UCL-LOCEAN-IPSL (2006) 46 47 !!---------------------------------------------------------------------- 48 !! NEMO/LIM 3.3, UCL-LOCEAN-IPSL (2010) 49 49 !! $Id$ 50 50 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) … … 62 62 !! or from arbitrary sea-ice conditions 63 63 !!-------------------------------------------------------------------- 64 INTEGER :: ji, jj, jk 65 REAL(wp) :: zidto 64 INTEGER :: ji, jj, jk ! dummy loop indices 65 REAL(wp) :: zidto ! temporary scalar 66 66 !-------------------------------------------------------------------- 67 67 … … 69 69 70 70 IF( .NOT. ln_limini ) THEN 71 71 ! 72 72 tfu(:,:) = tfreez( sn(:,:,1) ) * tmask(:,:,1) ! freezing/melting point of sea water [Celcius] 73 73 ! 74 74 DO jj = 1, jpj 75 75 DO ji = 1, jpi … … 126 126 127 127 !-- lateral boundary conditions 128 CALL lbc_lnk( hicif, 'T', 1. ) 129 CALL lbc_lnk( frld , 'T', 1. ) 128 CALL lbc_lnk( hicif, 'T', 1. ) ; CALL lbc_lnk( frld , 'T', 1. ) 130 129 131 130 ! C A U T I O N frld = 1 over land and lbc_lnk put zero along … … 140 139 CALL lbc_lnk( fsbbq , 'T', 1. ) 141 140 CALL lbc_lnk( qstoif , 'T', 1. ) 142 141 ! 143 142 END SUBROUTINE lim_istate_2 144 143 … … 151 150 !! 152 151 !! ** Method : Read the namiceini namelist and check the parameter 153 !! values called at the first timestep (nit000)152 !! values called at the first timestep (nit000) 154 153 !! 155 154 !! ** input : Namelist namiceini 156 155 !!------------------------------------------------------------------- 157 INTEGER :: inum_ice158 INTEGER :: ji,jj159 156 INTEGER :: ji,jj ! dummy loop indices 157 INTEGER :: inum_ice ! temporary integer 158 !! 160 159 NAMELIST/namiceini/ ln_limini, ttest, hninn, hginn, alinn, & 161 & hnins, hgins, alins160 & hnins, hgins, alins 162 161 !!------------------------------------------------------------------- 163 162 ! … … 165 164 READ ( numnam_ice , namiceini ) 166 165 ! 167 IF(lwp) THEN 166 IF(lwp) THEN ! control print 168 167 WRITE(numout,*) 169 168 WRITE(numout,*) 'lim_istate_init_2 : ice parameters inititialisation ' … … 179 178 ENDIF 180 179 181 IF( ln_limini ) THEN 180 IF( ln_limini ) THEN ! Ice initialization using input file 182 181 ! 183 182 CALL iom_open( 'Ice_initialization.nc', inum_ice ) … … 186 185 IF(lwp) WRITE(numout,*) 187 186 IF(lwp) WRITE(numout,*) ' ice state initialization with : Ice_initialization.nc' 188 187 ! 189 188 CALL iom_get( inum_ice, jpdom_data, 'hicif', hicif ) 190 189 CALL iom_get( inum_ice, jpdom_data, 'hsnif', hsnif ) … … 192 191 CALL iom_get( inum_ice, jpdom_data, 'ts' , sist ) 193 192 CALL iom_get( inum_ice, jpdom_unknown, 'tbif', tbif(1:nlci,1:nlcj,:), & 194 &kstart = (/ mig(1),mjg(1),1 /), kcount = (/ nlci,nlcj,jplayersp1 /) )193 & kstart = (/ mig(1),mjg(1),1 /), kcount = (/ nlci,nlcj,jplayersp1 /) ) 195 194 ! put some values in the extra-halo... 196 195 DO jj = nlcj+1, jpj ; tbif(1:nlci,jj,:) = tbif(1:nlci,nlej,:) ; END DO 197 196 DO ji = nlci+1, jpi ; tbif(ji ,: ,:) = tbif(nlei ,: ,:) ; END DO 198 197 ! 199 198 CALL iom_close( inum_ice) 200 199 ! … … 208 207 !! Default option : Empty module NO LIM 2.0 sea-ice model 209 208 !!---------------------------------------------------------------------- 210 CONTAINS211 SUBROUTINE lim_istate_2 ! Empty routine212 END SUBROUTINE lim_istate_2213 209 #endif 214 210
Note: See TracChangeset
for help on using the changeset viewer.