Changeset 14789 for NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/src/ICE/iceupdate.F90
- Timestamp:
- 2021-05-05T13:18:04+02:00 (3 years ago)
- Location:
- NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU
- Property svn:externals
-
old new 3 3 ^/utils/build/mk@HEAD mk 4 4 ^/utils/tools@HEAD tools 5 ^/vendors/AGRIF/dev _r12970_AGRIF_CMEMSext/AGRIF5 ^/vendors/AGRIF/dev@HEAD ext/AGRIF 6 6 ^/vendors/FCM@HEAD ext/FCM 7 7 ^/vendors/IOIPSL@HEAD ext/IOIPSL 8 ^/vendors/PPR@HEAD ext/PPR 8 9 9 10 # SETTE 10 ^/utils/CI/sette@1 3559sette11 ^/utils/CI/sette@14244 sette
-
- Property svn:externals
-
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/src/ICE/iceupdate.F90
r13643 r14789 67 67 !!------------------------------------------------------------------- 68 68 !! *** ROUTINE ice_update_flx *** 69 !! 70 !! ** Purpose : Update the surface ocean boundary condition for heat 69 !! 70 !! ** Purpose : Update the surface ocean boundary condition for heat 71 71 !! salt and mass over areas where sea-ice is non-zero 72 !! 72 !! 73 73 !! ** Action : - computes the heat and freshwater/salt fluxes 74 74 !! at the ice-ocean interface. 75 75 !! - Update the ocean sbc 76 !! 77 !! ** Outputs : - qsr : sea heat flux: solar 76 !! 77 !! ** Outputs : - qsr : sea heat flux: solar 78 78 !! - qns : sea heat flux: non solar 79 !! - emp : freshwater budget: volume flux 80 !! - sfx : salt flux 79 !! - emp : freshwater budget: volume flux 80 !! - sfx : salt flux 81 81 !! - fr_i : ice fraction 82 82 !! - tn_ice : sea-ice surface temperature … … 94 94 REAL(wp), DIMENSION(jpi,jpj) :: z2d ! 2D workspace 95 95 !!--------------------------------------------------------------------- 96 IF( ln_timing ) CALL timing_start('ice _update')96 IF( ln_timing ) CALL timing_start('iceupdate') 97 97 98 98 IF( kt == nit000 .AND. lwp ) THEN … … 104 104 ! Net heat flux on top of the ice-ocean (W.m-2) 105 105 !---------------------------------------------- 106 qt_atm_oi(:,:) = qns_tot(:,:) + qsr_tot(:,:) 106 IF( ln_cndflx ) THEN ! ice-atm interface = conduction (and melting) fluxes 107 qt_atm_oi(:,:) = ( 1._wp - at_i_b(:,:) ) * ( qns_oce(:,:) + qsr_oce(:,:) ) + qemp_oce(:,:) + & 108 & SUM( a_i_b * ( qcn_ice + qml_ice + qtr_ice_top ), dim=3 ) + qemp_ice(:,:) 109 ELSE ! ice-atm interface = solar and non-solar fluxes 110 qt_atm_oi(:,:) = qns_tot(:,:) + qsr_tot(:,:) 111 ENDIF 107 112 108 113 ! --- case we bypass ice thermodynamics --- ! … … 114 119 qevap_ice (:,:,:) = 0._wp 115 120 ENDIF 116 121 117 122 DO_2D( 1, 1, 1, 1 ) 118 123 119 ! Solar heat flux reaching the ocean (max) = zqsr (W.m-2) 124 ! Solar heat flux reaching the ocean (max) = zqsr (W.m-2) 120 125 !--------------------------------------------------- 121 zqsr = qsr_tot(ji,jj) - SUM( a_i_b(ji,jj,:) * ( qsr_ice(ji,jj,:) - qtr_ice_bot(ji,jj,:) ) ) 122 123 ! Total heat flux reaching the ocean = qt_oce_ai (W.m-2) 126 IF( ln_cndflx ) THEN ! ice-atm interface = conduction (and melting) fluxes 127 zqsr = ( 1._wp - at_i_b(ji,jj) ) * qsr_oce(ji,jj) + SUM( a_i_b (ji,jj,:) * qtr_ice_bot(ji,jj,:) ) 128 ELSE ! ice-atm interface = solar and non-solar fluxes 129 zqsr = qsr_tot(ji,jj) - SUM( a_i_b(ji,jj,:) * ( qsr_ice(ji,jj,:) - qtr_ice_bot(ji,jj,:) ) ) 130 ENDIF 131 132 ! Total heat flux reaching the ocean = qt_oce_ai (W.m-2) 124 133 !--------------------------------------------------- 125 qt_oce_ai(ji,jj) = qt_atm_oi(ji,jj) - hfx_sum(ji,jj) - hfx_bom(ji,jj) - hfx_bog(ji,jj) & 126 & - hfx_dif(ji,jj) - hfx_opw(ji,jj) - hfx_snw(ji,jj) & 127 & + hfx_thd(ji,jj) + hfx_dyn(ji,jj) + hfx_res(ji,jj) & 128 & + hfx_sub(ji,jj) - SUM( qevap_ice(ji,jj,:) * a_i_b(ji,jj,:) ) + hfx_spr(ji,jj) 134 IF( ln_icethd ) THEN 135 qt_oce_ai(ji,jj) = qt_atm_oi(ji,jj) - hfx_sum(ji,jj) - hfx_bom(ji,jj) - hfx_bog(ji,jj) & 136 & - hfx_dif(ji,jj) - hfx_opw(ji,jj) - hfx_snw(ji,jj) & 137 & + hfx_thd(ji,jj) + hfx_dyn(ji,jj) + hfx_res(ji,jj) & 138 & + hfx_sub(ji,jj) - SUM( qevap_ice(ji,jj,:) * a_i_b(ji,jj,:) ) + hfx_spr(ji,jj) 139 ENDIF 129 140 130 141 ! New qsr and qns used to compute the oceanic heat flux at the next time step … … 144 155 ! 145 156 ! the non-solar is simply derived from the solar flux 146 qns(ji,jj) = qt_oce_ai(ji,jj) - zqsr147 148 ! Mass flux at the atm. surface 157 qns(ji,jj) = qt_oce_ai(ji,jj) - qsr(ji,jj) 158 159 ! Mass flux at the atm. surface 149 160 !----------------------------------- 150 161 wfx_sub(ji,jj) = wfx_snw_sub(ji,jj) + wfx_ice_sub(ji,jj) 151 162 152 ! Mass flux at the ocean surface 163 ! Mass flux at the ocean surface 153 164 !------------------------------------ 154 165 ! ice-ocean mass flux 155 166 wfx_ice(ji,jj) = wfx_bog(ji,jj) + wfx_bom(ji,jj) + wfx_sum(ji,jj) + wfx_sni(ji,jj) & 156 & + wfx_opw(ji,jj) + wfx_dyn(ji,jj) + wfx_res(ji,jj) + wfx_lam(ji,jj) + wfx_pnd(ji,jj)157 167 & + wfx_opw(ji,jj) + wfx_dyn(ji,jj) + wfx_res(ji,jj) + wfx_lam(ji,jj) 168 158 169 ! snw-ocean mass flux 159 170 wfx_snw(ji,jj) = wfx_snw_sni(ji,jj) + wfx_snw_dyn(ji,jj) + wfx_snw_sum(ji,jj) 160 171 161 172 ! total mass flux at the ocean/ice interface 162 fmmflx(ji,jj) = - wfx_ice(ji,jj) - wfx_snw(ji,jj) - wfx_ err_sub(ji,jj) ! ice-ocean mass flux saved at least for biogeochemical model163 emp (ji,jj) = emp_oce(ji,jj) - wfx_ice(ji,jj) - wfx_snw(ji,jj) - wfx_ err_sub(ji,jj) ! atm-ocean + ice-ocean mass flux164 165 ! Salt flux at the ocean surface 173 fmmflx(ji,jj) = - wfx_ice(ji,jj) - wfx_snw(ji,jj) - wfx_pnd(ji,jj) - wfx_err_sub(ji,jj) ! ice-ocean mass flux saved at least for biogeochemical model 174 emp (ji,jj) = emp_oce(ji,jj) - wfx_ice(ji,jj) - wfx_snw(ji,jj) - wfx_pnd(ji,jj) - wfx_err_sub(ji,jj) ! atm-ocean + ice-ocean mass flux 175 176 ! Salt flux at the ocean surface 166 177 !------------------------------------------ 167 178 sfx(ji,jj) = sfx_bog(ji,jj) + sfx_bom(ji,jj) + sfx_sum(ji,jj) + sfx_sni(ji,jj) + sfx_opw(ji,jj) & 168 179 & + sfx_res(ji,jj) + sfx_dyn(ji,jj) + sfx_bri(ji,jj) + sfx_sub(ji,jj) + sfx_lam(ji,jj) 169 170 ! Mass of snow and ice per unit area 180 181 ! Mass of snow and ice per unit area 171 182 !---------------------------------------- 172 183 snwice_mass_b(ji,jj) = snwice_mass(ji,jj) ! save mass from the previous ice time step 173 184 ! ! new mass per unit area 174 snwice_mass (ji,jj) = tmask(ji,jj,1) * ( rhos * vt_s(ji,jj) + rhoi * vt_i(ji,jj) )185 snwice_mass (ji,jj) = tmask(ji,jj,1) * ( rhos * vt_s(ji,jj) + rhoi * vt_i(ji,jj) + rhow * (vt_ip(ji,jj) + vt_il(ji,jj)) ) 175 186 ! ! time evolution of snow+ice mass 176 187 snwice_fmass (ji,jj) = ( snwice_mass(ji,jj) - snwice_mass_b(ji,jj) ) * r1_Dt_ice 177 188 178 189 END_2D 179 190 180 191 ! Storing the transmitted variables 181 192 !---------------------------------- 182 fr_i (:,:) = at_i(:,:) ! Sea-ice fraction 183 tn_ice(:,:,:) = t_su(:,:,:) ! Ice surface temperature 193 fr_i (:,:) = at_i(:,:) ! Sea-ice fraction 194 tn_ice(:,:,:) = t_su(:,:,:) ! Ice surface temperature 184 195 185 196 ! Snow/ice albedo (only if sent to coupler, useless in forced mode) … … 216 227 CALL iom_put( 'vfxice' , wfx_ice ) ! mass flux from total ice growth/melt 217 228 CALL iom_put( 'vfxbog' , wfx_bog ) ! mass flux from bottom growth 218 CALL iom_put( 'vfxbom' , wfx_bom ) ! mass flux from bottom melt 219 CALL iom_put( 'vfxsum' , wfx_sum ) ! mass flux from surface melt 220 CALL iom_put( 'vfxlam' , wfx_lam ) ! mass flux from lateral melt 229 CALL iom_put( 'vfxbom' , wfx_bom ) ! mass flux from bottom melt 230 CALL iom_put( 'vfxsum' , wfx_sum ) ! mass flux from surface melt 231 CALL iom_put( 'vfxlam' , wfx_lam ) ! mass flux from lateral melt 221 232 CALL iom_put( 'vfxsni' , wfx_sni ) ! mass flux from snow-ice formation 222 233 CALL iom_put( 'vfxopw' , wfx_opw ) ! mass flux from growth in open water 223 234 CALL iom_put( 'vfxdyn' , wfx_dyn ) ! mass flux from dynamics (ridging) 224 CALL iom_put( 'vfxres' , wfx_res ) ! mass flux from undiagnosed processes 235 CALL iom_put( 'vfxres' , wfx_res ) ! mass flux from undiagnosed processes 225 236 CALL iom_put( 'vfxpnd' , wfx_pnd ) ! mass flux from melt ponds 226 237 CALL iom_put( 'vfxsub' , wfx_ice_sub ) ! mass flux from ice sublimation (ice-atm.) 227 CALL iom_put( 'vfxsub_err', wfx_err_sub ) ! "excess" of sublimation sent to ocean 228 229 IF ( iom_use( 'vfxthin' ) ) THEN ! mass flux from ice growth in open water + thin ice (<20cm) => comparable to observations 238 CALL iom_put( 'vfxsub_err', wfx_err_sub ) ! "excess" of sublimation sent to ocean 239 240 IF ( iom_use( 'vfxthin' ) ) THEN ! mass flux from ice growth in open water + thin ice (<20cm) => comparable to observations 230 241 WHERE( hm_i(:,:) < 0.2 .AND. hm_i(:,:) > 0. ) ; z2d = wfx_bog 231 242 ELSEWHERE ; z2d = 0._wp … … 237 248 CALL iom_put( 'vfxsnw' , wfx_snw ) ! mass flux from total snow growth/melt 238 249 CALL iom_put( 'vfxsnw_sum' , wfx_snw_sum ) ! mass flux from snow melt at the surface 239 CALL iom_put( 'vfxsnw_sni' , wfx_snw_sni ) ! mass flux from snow melt during snow-ice formation 240 CALL iom_put( 'vfxsnw_dyn' , wfx_snw_dyn ) ! mass flux from dynamics (ridging) 241 CALL iom_put( 'vfxsnw_sub' , wfx_snw_sub ) ! mass flux from snow sublimation (ice-atm.) 250 CALL iom_put( 'vfxsnw_sni' , wfx_snw_sni ) ! mass flux from snow melt during snow-ice formation 251 CALL iom_put( 'vfxsnw_dyn' , wfx_snw_dyn ) ! mass flux from dynamics (ridging) 252 CALL iom_put( 'vfxsnw_sub' , wfx_snw_sub ) ! mass flux from snow sublimation (ice-atm.) 242 253 CALL iom_put( 'vfxsnw_pre' , wfx_spr ) ! snow precip 243 254 … … 252 263 IF( iom_use('qt_oce' ) ) CALL iom_put( 'qt_oce' , ( qsr_oce + qns_oce ) * ( 1._wp - at_i_b ) + qemp_oce ) 253 264 IF( iom_use('qt_ice' ) ) CALL iom_put( 'qt_ice' , SUM( ( qns_ice + qsr_ice ) * a_i_b, dim=3 ) + qemp_ice ) 254 IF( iom_use('qt_oce_ai' ) ) CALL iom_put( 'qt_oce_ai' , qt_oce_ai * tmask(:,:,1) ) ! total heat flux at the ocean surface: interface oce-(ice+atm) 255 IF( iom_use('qt_atm_oi' ) ) CALL iom_put( 'qt_atm_oi' , qt_atm_oi * tmask(:,:,1) ) ! total heat flux at the oce-ice surface: interface atm-(ice+oce) 265 IF( iom_use('qt_oce_ai' ) ) CALL iom_put( 'qt_oce_ai' , qt_oce_ai * tmask(:,:,1) ) ! total heat flux at the ocean surface: interface oce-(ice+atm) 266 IF( iom_use('qt_atm_oi' ) ) CALL iom_put( 'qt_atm_oi' , qt_atm_oi * tmask(:,:,1) ) ! total heat flux at the oce-ice surface: interface atm-(ice+oce) 256 267 IF( iom_use('qemp_oce' ) ) CALL iom_put( 'qemp_oce' , qemp_oce ) ! Downward Heat Flux from E-P over ocean 257 268 IF( iom_use('qemp_ice' ) ) CALL iom_put( 'qemp_ice' , qemp_ice ) ! Downward Heat Flux from E-P over ice … … 259 270 ! heat fluxes from ice transformations 260 271 ! ! hfxdhc = hfxbog + hfxbom + hfxsum + hfxopw + hfxdif + hfxsnw - ( hfxthd + hfxdyn + hfxres + hfxsub + hfxspr ) 261 CALL iom_put ('hfxbog' , hfx_bog ) ! heat flux used for ice bottom growth 272 CALL iom_put ('hfxbog' , hfx_bog ) ! heat flux used for ice bottom growth 262 273 CALL iom_put ('hfxbom' , hfx_bom ) ! heat flux used for ice bottom melt 263 274 CALL iom_put ('hfxsum' , hfx_sum ) ! heat flux used for ice surface melt 264 275 CALL iom_put ('hfxopw' , hfx_opw ) ! heat flux used for ice formation in open water 265 276 CALL iom_put ('hfxdif' , hfx_dif ) ! heat flux used for ice temperature change 266 CALL iom_put ('hfxsnw' , hfx_snw ) ! heat flux used for snow melt 277 CALL iom_put ('hfxsnw' , hfx_snw ) ! heat flux used for snow melt 267 278 CALL iom_put ('hfxerr' , hfx_err_dif ) ! heat flux error after heat diffusion 268 279 269 280 ! heat fluxes associated with mass exchange (freeze/melt/precip...) 270 CALL iom_put ('hfxthd' , hfx_thd ) ! 271 CALL iom_put ('hfxdyn' , hfx_dyn ) ! 272 CALL iom_put ('hfxres' , hfx_res ) ! 273 CALL iom_put ('hfxsub' , hfx_sub ) ! 274 CALL iom_put ('hfxspr' , hfx_spr ) ! Heat flux from snow precip heat content 281 CALL iom_put ('hfxthd' , hfx_thd ) ! 282 CALL iom_put ('hfxdyn' , hfx_dyn ) ! 283 CALL iom_put ('hfxres' , hfx_res ) ! 284 CALL iom_put ('hfxsub' , hfx_sub ) ! 285 CALL iom_put ('hfxspr' , hfx_spr ) ! Heat flux from snow precip heat content 275 286 276 287 ! other heat fluxes 277 IF( iom_use('hfxsensib' ) ) CALL iom_put( 'hfxsensib' , -qsb_ice_bot * at_i_b ) ! Sensible oceanic heat flux288 IF( iom_use('hfxsensib' ) ) CALL iom_put( 'hfxsensib' , qsb_ice_bot * at_i_b ) ! Sensible oceanic heat flux 278 289 IF( iom_use('hfxcndbot' ) ) CALL iom_put( 'hfxcndbot' , SUM( qcn_ice_bot * a_i_b, dim=3 ) ) ! Bottom conduction flux 279 290 IF( iom_use('hfxcndtop' ) ) CALL iom_put( 'hfxcndtop' , SUM( qcn_ice_top * a_i_b, dim=3 ) ) ! Surface conduction flux 291 IF( iom_use('hfxmelt' ) ) CALL iom_put( 'hfxmelt' , SUM( qml_ice * a_i_b, dim=3 ) ) ! Surface melt flux 292 IF( iom_use('hfxldmelt' ) ) CALL iom_put( 'hfxldmelt' , fhld * at_i_b ) ! Heat in lead for ice melting 293 IF( iom_use('hfxldgrow' ) ) CALL iom_put( 'hfxldgrow' , qlead * r1_Dt_ice ) ! Heat in lead for ice growth 280 294 281 295 ! controls … … 286 300 IF( ln_icectl ) CALL ice_prt (kt, iiceprt, jiceprt, 3, 'Final state ice_update') ! prints 287 301 IF( sn_cfctl%l_prtctl ) CALL ice_prt3D ('iceupdate') ! prints 288 IF( ln_timing ) CALL timing_stop ('ice _update')! timing302 IF( ln_timing ) CALL timing_stop ('iceupdate') ! timing 289 303 ! 290 304 END SUBROUTINE ice_update_flx … … 294 308 !!------------------------------------------------------------------- 295 309 !! *** ROUTINE ice_update_tau *** 296 !! 310 !! 297 311 !! ** Purpose : Update the ocean surface stresses due to the ice 298 !! 312 !! 299 313 !! ** Action : * at each ice time step (every nn_fsbc time step): 300 !! - compute the modulus of ice-ocean relative velocity 314 !! - compute the modulus of ice-ocean relative velocity 301 315 !! (*rho*Cd) at T-point (C-grid) or I-point (B-grid) 302 316 !! tmod_io = rhoco * | U_ice-U_oce | 303 317 !! - update the modulus of stress at ocean surface 304 318 !! taum = (1-a) * taum + a * tmod_io * | U_ice-U_oce | 305 !! * at each ocean time step (every kt): 319 !! * at each ocean time step (every kt): 306 320 !! compute linearized ice-ocean stresses as 307 321 !! Utau = tmod_io * | U_ice - pU_oce | … … 310 324 !! NB: - ice-ocean rotation angle no more allowed 311 325 !! - here we make an approximation: taum is only computed every ice time step 312 !! This avoids mutiple average to pass from T -> U,V grids and next from U,V grids 326 !! This avoids mutiple average to pass from T -> U,V grids and next from U,V grids 313 327 !! to T grid. taum is used in TKE and GLS, which should not be too sensitive to this approximaton... 314 328 !! … … 324 338 REAL(wp) :: zflagi ! - - 325 339 !!--------------------------------------------------------------------- 326 IF( ln_timing ) CALL timing_start('ice_update _tau')340 IF( ln_timing ) CALL timing_start('ice_update') 327 341 328 342 IF( kt == nit000 .AND. lwp ) THEN … … 337 351 DO_2D( 0, 0, 0, 0 ) !* update the modulus of stress at ocean surface (T-point) 338 352 ! ! 2*(U_ice-U_oce) at T-point 339 zu_t = u_ice(ji,jj) + u_ice(ji-1,jj) - u_oce(ji,jj) - u_oce(ji-1,jj) 340 zv_t = v_ice(ji,jj) + v_ice(ji,jj-1) - v_oce(ji,jj) - v_oce(ji,jj-1) 353 zu_t = u_ice(ji,jj) + u_ice(ji-1,jj) - u_oce(ji,jj) - u_oce(ji-1,jj) 354 zv_t = v_ice(ji,jj) + v_ice(ji,jj-1) - v_oce(ji,jj) - v_oce(ji,jj-1) 341 355 ! ! |U_ice-U_oce|^2 342 356 zmodt = 0.25_wp * ( zu_t * zu_t + zv_t * zv_t ) … … 345 359 tmod_io(ji,jj) = zrhoco * SQRT( zmodt ) ! rhoco * |U_ice-U_oce| at T-point 346 360 END_2D 347 CALL lbc_lnk _multi( 'iceupdate', taum, 'T', 1.0_wp, tmod_io, 'T', 1.0_wp )361 CALL lbc_lnk( 'iceupdate', taum, 'T', 1.0_wp, tmod_io, 'T', 1.0_wp ) 348 362 ! 349 363 utau_oce(:,:) = utau(:,:) !* save the air-ocean stresses at ice time-step … … 354 368 ! !== every ocean time-step ==! 355 369 IF ( ln_drgice_imp ) THEN 356 ! Save drag with right sign to update top drag in the ocean implicit friction 357 rCdU_ice(:,:) = -r1_rho0 * tmod_io(:,:) * at_i(:,:) * tmask(:,:,1) 370 ! Save drag with right sign to update top drag in the ocean implicit friction 371 rCdU_ice(:,:) = -r1_rho0 * tmod_io(:,:) * at_i(:,:) * tmask(:,:,1) 358 372 zflagi = 0._wp 359 373 ELSE … … 362 376 ! 363 377 DO_2D( 0, 0, 0, 0 ) !* update the stress WITHOUT an ice-ocean rotation angle 364 ! ice area at u and v-points 378 ! ice area at u and v-points 365 379 zat_u = ( at_i(ji,jj) * tmask(ji,jj,1) + at_i (ji+1,jj ) * tmask(ji+1,jj ,1) ) & 366 380 & / MAX( 1.0_wp , tmask(ji,jj,1) + tmask(ji+1,jj ,1) ) … … 374 388 vtau(ji,jj) = ( 1._wp - zat_v ) * vtau_oce(ji,jj) + zat_v * zvtau_ice 375 389 END_2D 376 CALL lbc_lnk _multi( 'iceupdate', utau, 'U', -1.0_wp, vtau, 'V', -1.0_wp ) ! lateral boundary condition377 ! 378 IF( ln_timing ) CALL timing_stop('ice_update _tau')379 ! 390 CALL lbc_lnk( 'iceupdate', utau, 'U', -1.0_wp, vtau, 'V', -1.0_wp ) ! lateral boundary condition 391 ! 392 IF( ln_timing ) CALL timing_stop('ice_update') 393 ! 380 394 END SUBROUTINE ice_update_tau 381 395 … … 384 398 !!------------------------------------------------------------------- 385 399 !! *** ROUTINE ice_update_init *** 386 !! 400 !! 387 401 !! ** Purpose : allocate ice-ocean stress fields and read restarts 388 402 !! containing the snow & ice mass … … 408 422 !!--------------------------------------------------------------------- 409 423 !! *** ROUTINE rhg_evp_rst *** 410 !! 424 !! 411 425 !! ** Purpose : Read or write RHG file in restart file 412 426 !! … … 456 470 !! Default option Dummy module NO SI3 sea-ice model 457 471 !!---------------------------------------------------------------------- 458 #endif 472 #endif 459 473 460 474 !!======================================================================
Note: See TracChangeset
for help on using the changeset viewer.