- Timestamp:
- 2010-05-03T13:59:46+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
r1855 r1857 4 4 !! Initialisation of diagnostics ice variables 5 5 !!====================================================================== 6 !! History : 1.0 ! 2001-04 (C. Ethe, G. Madec) Original code7 !! 2.0 ! 2003-08 (G. Madec) add lim_istate_init8 !! - ! 2004-04 (S. Theetten) initialization from a file9 !! - ! 2006-07 (S. Masson) IOM to read the restart10 !! - ! 2007-10 (G. Madec) surface module6 !! History : 1.0 ! 01-04 (C. Ethe, G. Madec) Original code 7 !! 2.0 ! 03-08 (G. Madec) add lim_istate_init 8 !! ! 04-04 (S. Theetten) initialization from a file 9 !! ! 06-07 (S. Masson) IOM to read the restart 10 !! ! 07-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 !!---------------------------------------------------------------------- 16 17 !! lim_istate_2 : Initialisation of diagnostics ice variables 17 18 !! lim_istate_init_2 : initialization of ice state and namelist read 18 19 !!---------------------------------------------------------------------- 19 USE oce ! ocean variables20 USE ice_2 ! LIM-2 variables21 USE par_ice_2 ! LIM-2 ice parameters22 USE dom_ice_2 ! LIM-2 domain23 USE phycst ! physical constants24 USE eosbn2 ! equation of state25 USE lbclnk !26 USE iom !27 USE in_out_manager !20 USE phycst 21 USE par_ice_2 ! ice parameters 22 USE dom_ice_2 23 USE eosbn2 ! equation of state 24 USE lbclnk 25 USE oce 26 USE ice_2 27 USE iom 28 USE in_out_manager 28 29 29 30 IMPLICIT NONE 30 31 PRIVATE 31 32 32 PUBLIC lim_istate_2! routine called by lim_init_2.F9033 34 !!!! ** init namelist (namiceini) **35 LOGICAL :: ln_limini = .FALSE. ! Ice initialization state33 PUBLIC lim_istate_2 ! routine called by lim_init_2.F90 34 35 !!! ** init namelist (namiceini) ** 36 LOGICAL :: ln_limini = .FALSE. !: Ice initialization state 36 37 REAL(wp) :: ttest = 2.0 ! threshold water temperature for initial sea ice 37 38 REAL(wp) :: hninn = 0.5 ! initial snow thickness in the north … … 44 45 REAL(wp) :: zero = 0.e0 ! constant value = 0 45 46 REAL(wp) :: zone = 1.e0 ! constant value = 1 46 47 !!---------------------------------------------------------------------- 48 !! NEMO/LIM 3.3, UCL-LOCEAN-IPSL (2010) 47 !!---------------------------------------------------------------------- 48 !! LIM 2.0, UCL-LOCEAN-IPSL (2006) 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 ! dummy loop indices65 REAL(wp) :: zidto ! temporary scalar64 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. ) ; CALL lbc_lnk( frld , 'T', 1. ) 128 CALL lbc_lnk( hicif, 'T', 1. ) 129 CALL lbc_lnk( frld , 'T', 1. ) 129 130 130 131 ! C A U T I O N frld = 1 over land and lbc_lnk put zero along … … 139 140 CALL lbc_lnk( fsbbq , 'T', 1. ) 140 141 CALL lbc_lnk( qstoif , 'T', 1. ) 141 ! 142 142 143 END SUBROUTINE lim_istate_2 143 144 … … 150 151 !! 151 152 !! ** Method : Read the namiceini namelist and check the parameter 152 !! 153 !! values called at the first timestep (nit000) 153 154 !! 154 155 !! ** input : Namelist namiceini 155 156 !!------------------------------------------------------------------- 156 INTEGER :: ji,jj ! dummy loop indices157 INTEGER :: inum_ice ! temporary integer158 !! 157 INTEGER :: inum_ice 158 INTEGER :: ji,jj 159 159 160 NAMELIST/namiceini/ ln_limini, ttest, hninn, hginn, alinn, & 160 & 161 & hnins, hgins, alins 161 162 !!------------------------------------------------------------------- 162 163 ! … … 164 165 READ ( numnam_ice , namiceini ) 165 166 ! 166 IF(lwp) THEN ! control print167 IF(lwp) THEN 167 168 WRITE(numout,*) 168 169 WRITE(numout,*) 'lim_istate_init_2 : ice parameters inititialisation ' … … 178 179 ENDIF 179 180 180 IF( ln_limini ) THEN ! Ice initialization using input file181 IF( ln_limini ) THEN ! Ice initialization using input file 181 182 ! 182 183 CALL iom_open( 'Ice_initialization.nc', inum_ice ) … … 185 186 IF(lwp) WRITE(numout,*) 186 187 IF(lwp) WRITE(numout,*) ' ice state initialization with : Ice_initialization.nc' 187 !188 188 189 CALL iom_get( inum_ice, jpdom_data, 'hicif', hicif ) 189 190 CALL iom_get( inum_ice, jpdom_data, 'hsnif', hsnif ) … … 191 192 CALL iom_get( inum_ice, jpdom_data, 'ts' , sist ) 192 193 CALL iom_get( inum_ice, jpdom_unknown, 'tbif', tbif(1:nlci,1:nlcj,:), & 193 &kstart = (/ mig(1),mjg(1),1 /), kcount = (/ nlci,nlcj,jplayersp1 /) )194 & kstart = (/ mig(1),mjg(1),1 /), kcount = (/ nlci,nlcj,jplayersp1 /) ) 194 195 ! put some values in the extra-halo... 195 196 DO jj = nlcj+1, jpj ; tbif(1:nlci,jj,:) = tbif(1:nlci,nlej,:) ; END DO 196 197 DO ji = nlci+1, jpi ; tbif(ji ,: ,:) = tbif(nlei ,: ,:) ; END DO 197 ! 198 198 199 CALL iom_close( inum_ice) 199 200 ! … … 207 208 !! Default option : Empty module NO LIM 2.0 sea-ice model 208 209 !!---------------------------------------------------------------------- 210 CONTAINS 211 SUBROUTINE lim_istate_2 ! Empty routine 212 END SUBROUTINE lim_istate_2 209 213 #endif 210 214
Note: See TracChangeset
for help on using the changeset viewer.