Changeset 719 for trunk/NEMO/LIM_SRC/limwri.F90
- Timestamp:
- 2007-10-16T16:59:56+02:00 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/LIM_SRC/limwri.F90
- Property svn:keywords changed from Id to Author Date Id Revision
r717 r719 15 15 !! lim_wri_init : initialization and namelist read 16 16 !!---------------------------------------------------------------------- 17 USE ioipsl 18 USE dianam ! build name of file (routine) 17 19 USE phycst 18 20 USE dom_oce 19 21 USE daymod 22 USE in_out_manager 20 23 USE ice_oce ! ice variables 21 USE sbc_oce 22 USE sbc_ice 24 USE flx_oce 23 25 USE dom_ice 24 26 USE ice 25 26 27 USE lbclnk 27 USE dianam ! build name of file (routine)28 USE in_out_manager29 USE ioipsl30 28 31 29 IMPLICIT NONE 32 30 PRIVATE 33 31 34 PUBLIC lim_wri ! routine called by sbcice_lim module32 PUBLIC lim_wri ! routine called by lim_step.F90 35 33 36 34 INTEGER, PARAMETER :: jpnoumax = 40 ! maximum number of variable for ice output … … 51 49 zone = 1.e0 52 50 53 !! * Substitutions 54 # include "vectopt_loop_substitute.h90" 55 !!---------------------------------------------------------------------- 56 !! LIM 2.0, UCL-LOCEAN-IPSL (2006) 57 !! $Header: $ 51 !!---------------------------------------------------------------------- 52 !! LIM 2.0, UCL-LOCEAN-IPSL (2005) 53 !! $Header$ 58 54 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 59 55 !!---------------------------------------------------------------------- … … 83 79 !!------------------------------------------------------------------- 84 80 INTEGER, INTENT(in) :: kt ! number of iteration 85 !! 81 86 82 INTEGER :: ji, jj, jf ! dummy loop indices 87 83 CHARACTER(len = 40) :: clhstnam, clop … … 94 90 95 91 ! !--------------------! 96 IF ( kt == nit000 ) THEN! Initialisation !92 IF ( kt == nit000 ) THEN ! Initialisation ! 97 93 ! !--------------------! 98 94 CALL lim_wri_init … … 101 97 !!Chris clop = "ave(only(x))" !ibug namelist parameter a ajouter 102 98 clop = "ave(x)" 103 zout = nwrite * rdt_ice / n n_fsbc99 zout = nwrite * rdt_ice / nfice 104 100 zsec = 0. 105 101 niter = 0 … … 114 110 115 111 DO jf = 1, noumef 116 IF ( nc(jf) == 1 ) CALL histdef( nice, nam(jf), titn(jf), uni(jf), jpi, jpj &117 &, nhorid, 1, 1, 1, -99, 32, clop, zsto, zout )112 IF ( nc(jf) == 1 ) CALL histdef( nice, nam(jf), titn(jf), uni(jf), jpi, jpj & 113 & , nhorid, 1, 1, 1, -99, 32, clop, zsto, zout ) 118 114 END DO 119 115 CALL histend( nice ) 120 !116 121 117 ENDIF 122 118 ! !--------------------! … … 124 120 ! !--------------------! 125 121 126 !-- Store instantaneous values in zcmo 122 !!gm change the print below to have it only at output time step or when nitend =< 100 123 IF(lwp) THEN 124 WRITE(numout,*) 125 WRITE(numout,*) 'lim_wri : write ice outputs in NetCDF files at time : ', nyear, nmonth, nday, kt + nfice - 1 126 WRITE(numout,*) '~~~~~~~ ' 127 ENDIF 128 129 !-- calculs des valeurs instantanees 127 130 128 131 zcmo(:,:, 1:jpnoumax ) = 0.e0 129 132 DO jj = 2 , jpjm1 130 DO ji = fs_2 , fs_jpim1133 DO ji = 2 , jpim1 131 134 zindh = MAX( zzero , SIGN( zone , hicif(ji,jj) * (1.0 - frld(ji,jj) ) - 0.10 ) ) 132 135 zinda = MAX( zzero , SIGN( zone , ( 1.0 - frld(ji,jj) ) - 0.10 ) ) … … 139 142 zcmo(ji,jj,5) = sist (ji,jj) 140 143 zcmo(ji,jj,6) = fbif (ji,jj) 141 zcmo(ji,jj,7) = zindb * ( u i_ice(ji,jj ) * tmu(ji,jj ) + ui_ice(ji+1,jj ) * tmu(ji+1,jj ) &142 + u i_ice(ji,jj+1) * tmu(ji,jj+1) + ui_ice(ji+1,jj+1) * tmu(ji+1,jj+1) ) &144 zcmo(ji,jj,7) = zindb * ( u_ice(ji,jj ) * tmu(ji,jj ) + u_ice(ji+1,jj ) * tmu(ji+1,jj ) & 145 + u_ice(ji,jj+1) * tmu(ji,jj+1) + u_ice(ji+1,jj+1) * tmu(ji+1,jj+1) ) & 143 146 / ztmu 144 147 145 zcmo(ji,jj,8) = zindb * ( v i_ice(ji,jj ) * tmu(ji,jj ) + vi_ice(ji+1,jj ) * tmu(ji+1,jj ) &146 + v i_ice(ji,jj+1) * tmu(ji,jj+1) + vi_ice(ji+1,jj+1) * tmu(ji+1,jj+1) ) &148 zcmo(ji,jj,8) = zindb * ( v_ice(ji,jj ) * tmu(ji,jj ) + v_ice(ji+1,jj ) * tmu(ji+1,jj ) & 149 + v_ice(ji,jj+1) * tmu(ji,jj+1) + v_ice(ji+1,jj+1) * tmu(ji+1,jj+1) ) & 147 150 / ztmu 148 zcmo(ji,jj,9) = sst_m(ji,jj) 149 zcmo(ji,jj,10) = sss_m(ji,jj) 150 151 !!gm zcmo(ji,jj,11) = fnsolar(ji,jj) + fsolar(ji,jj) 152 !!gm zcmo(ji,jj,12) = fsolar (ji,jj) 153 !!gm zcmo(ji,jj,13) = fnsolar(ji,jj) 154 zcmo(ji,jj,11) = qns(ji,jj) + qsr(ji,jj) 155 zcmo(ji,jj,12) = qsr(ji,jj) 156 zcmo(ji,jj,13) = qns(ji,jj) 151 zcmo(ji,jj,9) = sst_io(ji,jj) 152 zcmo(ji,jj,10) = sss_io(ji,jj) 153 154 zcmo(ji,jj,11) = fnsolar(ji,jj) + fsolar(ji,jj) 155 zcmo(ji,jj,12) = fsolar (ji,jj) 156 zcmo(ji,jj,13) = fnsolar(ji,jj) 157 157 ! See thersf for the coefficient 158 !!gm zcmo(ji,jj,14) = - fsalt(ji,jj) * rday * ( sss_m(ji,jj) + epsi16 ) / soce 159 zcmo(ji,jj,14) = - emps(ji,jj) * rday * ( sss_m(ji,jj) + epsi16 ) / soce !!gm ??? 160 zcmo(ji,jj,15) = utaui_ice(ji,jj) 161 zcmo(ji,jj,16) = vtaui_ice(ji,jj) 162 zcmo(ji,jj,17) = ( 1.0 - frld(ji,jj) ) * qsr_ice(ji,jj) + frld(ji,jj) * qsr(ji,jj) !!gm a revoir 163 zcmo(ji,jj,18) = ( 1.0 - frld(ji,jj) ) * qns_ice(ji,jj) + frld(ji,jj) * qns(ji,jj) !!gm a revoir 158 zcmo(ji,jj,14) = - fsalt(ji,jj) * rday * ( sss_io(ji,jj) + epsi16 ) / soce 159 zcmo(ji,jj,15) = gtaux(ji,jj) 160 zcmo(ji,jj,16) = gtauy(ji,jj) 161 zcmo(ji,jj,17) = ( 1.0 - frld(ji,jj) ) * qsr_ice (ji,jj) + frld(ji,jj) * qsr_oce (ji,jj) 162 zcmo(ji,jj,18) = ( 1.0 - frld(ji,jj) ) * qnsr_ice(ji,jj) + frld(ji,jj) * qnsr_oce(ji,jj) 164 163 zcmo(ji,jj,19) = sprecip(ji,jj) 165 164 END DO … … 176 175 END DO 177 176 178 IF( jf == 7 .OR. jf == 8 .OR. jf == 11 .OR. jf == 12 .OR. jf == 15 .OR. & 179 & jf == 23 .OR. jf == 24 .OR. jf == 16 ) THEN 177 IF ( jf == 7 .OR. jf == 8 .OR. jf == 15 .OR. jf == 16 ) THEN 180 178 CALL lbc_lnk( zfield, 'T', -1. ) 181 179 ELSE … … 183 181 ENDIF 184 182 185 IF ( nc(jf) == 1 )CALL histwrite( nice, nam(jf), niter, zfield, ndim, ndex51 )183 IF ( nc(jf) == 1 ) CALL histwrite( nice, nam(jf), niter, zfield, ndim, ndex51 ) 186 184 187 185 END DO 188 186 189 IF( ( nn_fsbc * niter + nit000 - 1 ) >= nitend ) CALL histclo( nice ) 187 IF ( ( nfice * niter + nit000 - 1 ) >= nitend ) THEN 188 CALL histclo( nice ) 189 ENDIF 190 190 ! 191 191 END SUBROUTINE lim_wri … … 225 225 field_13, field_14, field_15, field_16, field_17, field_18, & 226 226 field_19 227 !!------------------------------------------------------------------- 228 229 REWIND ( numnam_ice ) ! Read Namelist namicewri 227 !!gm NAMELIST/namiceout/ noumef, & 228 !! zfield( 1), zfield( 2), zfield( 3), zfield( 4), zfield( 5), & 229 !! zfield( 6), zfield( 7), zfield( 8), zfield( 9), zfield(10), & 230 !! zfield(11), zfield(12), zfield(13), zfield(14), zfield(15), & 231 !!gm zfield(16), zfield(17), zfield(18), zfield(19) 232 !!------------------------------------------------------------------- 233 234 ! Read Namelist namicewri 235 REWIND ( numnam_ice ) 230 236 READ ( numnam_ice , namiceout ) 231 237 232 zfield( 1)= field_1233 zfield( 2)= field_2234 zfield( 3)= field_3235 zfield( 4)= field_4236 zfield( 5)= field_5237 zfield( 6)= field_6238 zfield( 7)= field_7239 zfield( 8)= field_8240 zfield( 9)= field_9238 zfield(1) = field_1 239 zfield(2) = field_2 240 zfield(3) = field_3 241 zfield(4) = field_4 242 zfield(5) = field_5 243 zfield(6) = field_6 244 zfield(7) = field_7 245 zfield(8) = field_8 246 zfield(9) = field_9 241 247 zfield(10) = field_10 242 248 zfield(11) = field_11 … … 268 274 DO nf = 1 , noumef 269 275 WRITE(numout,*) ' ', titn(nf), ' ', nam(nf),' ', uni(nf),' ', nc(nf),' ', cmulti(nf), & 270 &' ', cadd(nf)276 ' ', cadd(nf) 271 277 END DO 272 278 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.