Changeset 10535 for NEMO/trunk/src
- Timestamp:
- 2019-01-16T18:36:47+01:00 (5 years ago)
- Location:
- NEMO/trunk/src
- Files:
-
- 4 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/ICE/ice.F90
r10534 r10535 150 150 LOGICAL , PUBLIC :: ln_adv_UMx !: Ultimate-Macho advection scheme 151 151 ! 152 ! !!** ice-surface forcing namelist (namforcing) **152 ! !!** ice-surface boundary conditions namelist (namsbc) ** 153 153 ! -- icethd_dh -- ! 154 154 REAL(wp), PUBLIC :: rn_blow_s !: coef. for partitioning of snowfall between leads and sea ice -
NEMO/trunk/src/ICE/icealb.F90
r10069 r10535 27 27 28 28 PUBLIC ice_alb_init ! called in icestp 29 PUBLIC ice_alb ! called in ice forcing.F90 and iceupdate.F9029 PUBLIC ice_alb ! called in icesbc.F90 and iceupdate.F90 30 30 31 31 REAL(wp), PUBLIC, PARAMETER :: rn_alb_oce = 0.066 !: ocean or lead albedo (Pegau and Paulson, Ann. Glac. 2001) -
NEMO/trunk/src/ICE/icesbc.F90
r10534 r10535 1 MODULE ice forcing1 MODULE icesbc 2 2 !!====================================================================== 3 !! *** MODULE ice forcing***4 !! Sea-Ice : air-ice forcingfields3 !! *** MODULE icesbc *** 4 !! Sea-Ice : air-ice sbc fields 5 5 !!===================================================================== 6 6 !! History : 4.0 ! 2017-08 (C. Rousset) Original code … … 31 31 PRIVATE 32 32 33 PUBLIC ice_ forcing_tau ! called by icestp.F9034 PUBLIC ice_ forcing_flx ! called by icestp.F9035 PUBLIC ice_ forcing_init ! called by icestp.F9033 PUBLIC ice_sbc_tau ! called by icestp.F90 34 PUBLIC ice_sbc_flx ! called by icestp.F90 35 PUBLIC ice_sbc_init ! called by icestp.F90 36 36 37 37 !! * Substitutions … … 44 44 CONTAINS 45 45 46 SUBROUTINE ice_ forcing_tau( kt, ksbc, utau_ice, vtau_ice )47 !!------------------------------------------------------------------- 48 !! *** ROUTINE ice_ forcing_tau ***46 SUBROUTINE ice_sbc_tau( kt, ksbc, utau_ice, vtau_ice ) 47 !!------------------------------------------------------------------- 48 !! *** ROUTINE ice_sbc_tau *** 49 49 !! 50 50 !! ** Purpose : provide surface boundary condition for sea ice (momentum) … … 61 61 !!------------------------------------------------------------------- 62 62 ! 63 IF( ln_timing ) CALL timing_start('ice_ forcing')63 IF( ln_timing ) CALL timing_start('ice_sbc') 64 64 ! 65 65 IF( kt == nit000 .AND. lwp ) THEN 66 66 WRITE(numout,*) 67 WRITE(numout,*)'ice_ forcing_tau: Surface boundary condition for sea ice (momentum)'67 WRITE(numout,*)'ice_sbc_tau: Surface boundary condition for sea ice (momentum)' 68 68 WRITE(numout,*)'~~~~~~~~~~~~~~~' 69 69 ENDIF … … 83 83 END DO 84 84 END DO 85 CALL lbc_lnk_multi( 'ice forcing', utau_ice, 'U', -1., vtau_ice, 'V', -1. )86 ENDIF 87 ! 88 IF( ln_timing ) CALL timing_stop('ice_ forcing')89 ! 90 END SUBROUTINE ice_ forcing_tau85 CALL lbc_lnk_multi( 'icesbc', utau_ice, 'U', -1., vtau_ice, 'V', -1. ) 86 ENDIF 87 ! 88 IF( ln_timing ) CALL timing_stop('ice_sbc') 89 ! 90 END SUBROUTINE ice_sbc_tau 91 91 92 92 93 SUBROUTINE ice_ forcing_flx( kt, ksbc )94 !!------------------------------------------------------------------- 95 !! *** ROUTINE ice_ forcing_flx ***93 SUBROUTINE ice_sbc_flx( kt, ksbc ) 94 !!------------------------------------------------------------------- 95 !! *** ROUTINE ice_sbc_flx *** 96 96 !! 97 97 !! ** Purpose : provide surface boundary condition for sea ice (flux) … … 119 119 !!-------------------------------------------------------------------- 120 120 ! 121 IF( ln_timing ) CALL timing_start('ice_ forcing_flx')121 IF( ln_timing ) CALL timing_start('ice_sbc_flx') 122 122 123 123 IF( kt == nit000 .AND. lwp ) THEN 124 124 WRITE(numout,*) 125 WRITE(numout,*)'ice_ forcing_flx: Surface boundary condition for sea ice (flux)'125 WRITE(numout,*)'ice_sbc_flx: Surface boundary condition for sea ice (flux)' 126 126 WRITE(numout,*)'~~~~~~~~~~~~~~~' 127 127 ENDIF … … 163 163 ENDIF 164 164 ! 165 IF( ln_timing ) CALL timing_stop('ice_ forcing_flx')166 ! 167 END SUBROUTINE ice_ forcing_flx165 IF( ln_timing ) CALL timing_stop('ice_sbc_flx') 166 ! 167 END SUBROUTINE ice_sbc_flx 168 168 169 169 … … 254 254 255 255 256 SUBROUTINE ice_ forcing_init257 !!------------------------------------------------------------------- 258 !! *** ROUTINE ice_ forcing_init ***256 SUBROUTINE ice_sbc_init 257 !!------------------------------------------------------------------- 258 !! *** ROUTINE ice_sbc_init *** 259 259 !! 260 260 !! ** Purpose : Physical constants and parameters linked to the ice dynamics 261 261 !! 262 !! ** Method : Read the nam forcingnamelist and check the ice-dynamic262 !! ** Method : Read the namsbc namelist and check the ice-dynamic 263 263 !! parameter values called at the first timestep (nit000) 264 264 !! 265 !! ** input : Namelist nam forcing265 !! ** input : Namelist namsbc 266 266 !!------------------------------------------------------------------- 267 267 INTEGER :: ios, ioptio ! Local integer 268 268 !! 269 NAMELIST/nam forcing/ rn_cio, rn_blow_s, nn_flxdist, ln_cndflx, ln_cndemulate270 !!------------------------------------------------------------------- 271 ! 272 REWIND( numnam_ice_ref ) ! Namelist nam forcingin reference namelist : Ice dynamics273 READ ( numnam_ice_ref, nam forcing, IOSTAT = ios, ERR = 901)274 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam forcingin reference namelist', lwp )275 REWIND( numnam_ice_cfg ) ! Namelist nam forcingin configuration namelist : Ice dynamics276 READ ( numnam_ice_cfg, nam forcing, IOSTAT = ios, ERR = 902 )277 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nam forcingin configuration namelist', lwp )278 IF(lwm) WRITE( numoni, nam forcing)269 NAMELIST/namsbc/ rn_cio, rn_blow_s, nn_flxdist, ln_cndflx, ln_cndemulate 270 !!------------------------------------------------------------------- 271 ! 272 REWIND( numnam_ice_ref ) ! Namelist namsbc in reference namelist : Ice dynamics 273 READ ( numnam_ice_ref, namsbc, IOSTAT = ios, ERR = 901) 274 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc in reference namelist', lwp ) 275 REWIND( numnam_ice_cfg ) ! Namelist namsbc in configuration namelist : Ice dynamics 276 READ ( numnam_ice_cfg, namsbc, IOSTAT = ios, ERR = 902 ) 277 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc in configuration namelist', lwp ) 278 IF(lwm) WRITE( numoni, namsbc ) 279 279 ! 280 280 IF(lwp) THEN ! control print 281 281 WRITE(numout,*) 282 WRITE(numout,*) 'ice_ forcing_init: ice parameters for ice dynamics '282 WRITE(numout,*) 'ice_sbc_init: ice parameters for ice dynamics ' 283 283 WRITE(numout,*) '~~~~~~~~~~~~~~~~' 284 WRITE(numout,*) ' Namelist nam forcing:'284 WRITE(numout,*) ' Namelist namsbc:' 285 285 WRITE(numout,*) ' drag coefficient for oceanic stress rn_cio = ', rn_cio 286 286 WRITE(numout,*) ' coefficient for ice-lead partition of snowfall rn_blow_s = ', rn_blow_s … … 306 306 END SELECT 307 307 ! 308 END SUBROUTINE ice_ forcing_init308 END SUBROUTINE ice_sbc_init 309 309 310 310 #else … … 315 315 316 316 !!====================================================================== 317 END MODULE ice forcing317 END MODULE icesbc -
NEMO/trunk/src/ICE/icestp.F90
r10534 r10535 52 52 USE sbc_ice ! Surface boundary condition: ice fields 53 53 ! 54 USE ice forcing ! sea-ice: Surface boundary condition !!gm why not icesbc module name54 USE icesbc ! sea-ice: Surface boundary conditions 55 55 USE icedyn ! sea-ice: dynamics 56 56 USE icethd ! sea-ice: thermodynamics … … 152 152 ! utau_ice, vtau_ice = surface ice stress [N/m2] 153 153 !------------------------------------------------! 154 CALL ice_ forcing_tau( kt, ksbc, utau_ice, vtau_ice )154 CALL ice_sbc_tau( kt, ksbc, utau_ice, vtau_ice ) 155 155 !-------------------------------------! 156 156 ! --- ice dynamics and advection --- ! … … 183 183 ! qprec_ice, qevap_ice 184 184 !------------------------------------------------------! 185 CALL ice_ forcing_flx( kt, ksbc )185 CALL ice_sbc_flx( kt, ksbc ) 186 186 !----------------------------! 187 187 ! --- ice thermodynamics --- ! … … 241 241 ! ! Allocate the ice arrays (sbc_ice already allocated in sbc_init) 242 242 ierr = ice_alloc () ! ice variables 243 ierr = ierr + sbc_ice_alloc () ! surface forcing243 ierr = ierr + sbc_ice_alloc () ! surface boundary conditions 244 244 ierr = ierr + ice1D_alloc () ! thermodynamics 245 245 ! … … 261 261 CALL ice_var_agg(1) 262 262 ! 263 CALL ice_ forcing_init! set ice-ocean and ice-atm. coupling parameters263 CALL ice_sbc_init ! set ice-ocean and ice-atm. coupling parameters 264 264 ! 265 265 CALL ice_dyn_init ! set ice dynamics parameters -
NEMO/trunk/src/OCE/SBC/sbcblk.F90
r10534 r10535 66 66 PUBLIC sbc_blk ! called in sbcmod 67 67 #if defined key_si3 68 PUBLIC blk_ice_tau ! routine called in ice forcing69 PUBLIC blk_ice_flx ! routine called in ice forcing70 PUBLIC blk_ice_qcn ! routine called in ice forcing68 PUBLIC blk_ice_tau ! routine called in icesbc 69 PUBLIC blk_ice_flx ! routine called in icesbc 70 PUBLIC blk_ice_qcn ! routine called in icesbc 71 71 #endif 72 72
Note: See TracChangeset
for help on using the changeset viewer.