Changeset 8819
- Timestamp:
- 2017-11-27T14:24:20+01:00 (7 years ago)
- Location:
- branches/UKMO/dev_r5518_GO6_package_r8356_plus_form_drag/NEMOGCM/NEMO/OPA_SRC/SBC
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_GO6_package_r8356_plus_form_drag/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_ice.F90
r8384 r8819 116 116 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: a_i 117 117 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: ht_i, ht_s 118 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fmdice 118 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fmdice, rough_ice_skin 119 119 #endif 120 120 … … 176 176 #if defined key_cice || defined key_lim2 177 177 IF( ln_cpl ) ALLOCATE( ht_i(jpi,jpj,jpl) , ht_s(jpi,jpj,jpl) , STAT=ierr(5) ) 178 IF( ln_cpl ) ALLOCATE( fmdice(jpi,jpj) , STAT=ierr(5) )178 IF( ln_cpl ) ALLOCATE( fmdice(jpi,jpj) , rough_ice_skin(jpi,jpj) , STAT=ierr(5) ) 179 179 #endif 180 180 -
branches/UKMO/dev_r5518_GO6_package_r8356_plus_form_drag/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r8670 r8819 150 150 INTEGER, PARAMETER :: jps_bio_chloro = 36 ! MEDUSA chlorophyll surface concentration 151 151 INTEGER, PARAMETER :: jps_fmdice = 37 ! ice form drag 152 INTEGER, PARAMETER :: jpsnd = 37 ! total number of fields sent 152 INTEGER, PARAMETER :: jps_rough_ice_skin = 38 ! ice skin roughness length 153 INTEGER, PARAMETER :: jpsnd = 38 ! total number of fields sent 153 154 154 155 REAL(wp), PARAMETER :: dms_unit_conv = 1.0e+6 ! Coversion factor to get outgong DMS in standard units for coupling … … 164 165 END TYPE FLD_C 165 166 ! Send to the atmosphere ! 166 TYPE(FLD_C) :: sn_snd_temp, sn_snd_alb, sn_snd_thick, sn_snd_crt, sn_snd_co2, sn_snd_cond, sn_snd_mpnd, sn_snd_sstfrz, sn_snd_thick1, sn_snd_ fmd167 TYPE(FLD_C) :: sn_snd_temp, sn_snd_alb, sn_snd_thick, sn_snd_crt, sn_snd_co2, sn_snd_cond, sn_snd_mpnd, sn_snd_sstfrz, sn_snd_thick1, sn_snd_icerough 167 168 TYPE(FLD_C) :: sn_snd_bio_co2, sn_snd_bio_dms, sn_snd_bio_chloro 168 169 … … 242 243 !! 243 244 NAMELIST/namsbc_cpl/ sn_snd_temp, sn_snd_alb , sn_snd_thick , sn_snd_crt , sn_snd_co2, & 244 & sn_snd_cond, sn_snd_mpnd , sn_snd_sstfrz, sn_snd_thick1, sn_snd_ fmd,&245 & sn_snd_cond, sn_snd_mpnd , sn_snd_sstfrz, sn_snd_thick1, sn_snd_icerough,& 245 246 & sn_rcv_w10m, sn_rcv_taumod, sn_rcv_tau , sn_rcv_dqnsdt, sn_rcv_qsr, & 246 247 & sn_rcv_qns , sn_rcv_emp , sn_rcv_rnf , sn_rcv_cal , sn_rcv_iceflx, & … … 315 316 WRITE(numout,*)' meltponds fraction & depth = ', TRIM(sn_snd_mpnd%cldes ), ' (', TRIM(sn_snd_mpnd%clcat ), ')' 316 317 WRITE(numout,*)' sea surface freezing temp = ', TRIM(sn_snd_sstfrz%cldes ), ' (', TRIM(sn_snd_sstfrz%clcat ), ')' 317 WRITE(numout,*)' ice formdrag = ', TRIM(sn_snd_ fmd%cldes ), ' (', TRIM(sn_snd_fmd%clcat ), ')'318 WRITE(numout,*)' ice formdrag = ', TRIM(sn_snd_icerough%cldes ), ' (', TRIM(sn_snd_icerough%clcat ), ')' 318 319 319 320 WRITE(numout,*)' nn_cplmodel = ', nn_cplmodel … … 875 876 ! ! ------------------------- ! 876 877 ssnd(jps_fmdice )%clname = 'OIceFmd' 877 SELECT CASE ( TRIM( sn_snd_fmd%cldes ) ) 878 ssnd(jps_rough_ice_skin )%clname = 'ORghIcSk' 879 SELECT CASE ( TRIM( sn_snd_icerough%cldes ) ) 878 880 CASE ( 'none' ) 879 881 ssnd(jps_fmdice)%laction = .FALSE. 882 ssnd(jps_rough_ice_skin)%laction = .FALSE. 880 883 CASE ( 'ice', 'weighted ice' ) 881 884 ssnd(jps_fmdice)%laction = .TRUE. 882 CASE default ; CALL ctl_stop( 'sbc_cpl_init: wrong definition of sn_snd_fmd%cldes' ) 885 ssnd(jps_rough_ice_skin)%laction = .TRUE. 886 CASE default ; CALL ctl_stop( 'sbc_cpl_init: wrong definition of sn_snd_icerough%cldes' ) 883 887 END SELECT 884 888 ! … … 2640 2644 #if defined key_cice 2641 2645 IF( ssnd(jps_fmdice)%laction ) THEN 2642 SELECT CASE( sn_snd_ fmd%cldes )2646 SELECT CASE( sn_snd_icerough%cldes ) 2643 2647 CASE( 'ice' ) 2644 2648 ztmp1(:,:) = fmdice(:,:) 2645 2649 CASE( 'weighted ice' ) 2646 2650 ztmp1(:,:) = fmdice(:,:) * fr_i(:,:) 2647 CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_ fmd%cldes' )2651 CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_icerough%cldes' ) 2648 2652 END SELECT 2649 2653 ENDIF 2650 2654 IF( ssnd(jps_fmdice)%laction ) CALL cpl_snd( jps_fmdice, isec, RESHAPE ( ztmp1, (/jpi,jpj,1/) ), info ) 2655 2656 IF( ssnd(jps_rough_ice_skin)%laction ) THEN 2657 SELECT CASE( sn_snd_icerough%cldes ) 2658 CASE( 'ice' ) 2659 ztmp1(:,:) = rough_ice_skin(:,:) 2660 CASE( 'weighted ice' ) 2661 ztmp1(:,:) = rough_ice_skin(:,:) * fr_i(:,:) 2662 CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_icerough%cldes' ) 2663 END SELECT 2664 ENDIF 2665 IF( ssnd(jps_rough_ice_skin)%laction ) CALL cpl_snd( jps_rough_ice_skin, isec, RESHAPE ( ztmp1, (/jpi,jpj,1/) ), info ) 2651 2666 #endif 2652 2667 ! -
branches/UKMO/dev_r5518_GO6_package_r8356_plus_form_drag/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90
r8670 r8819 68 68 #endif 69 69 USE ice_forcing, only: frcvdr,frcvdf,frcidr,frcidf 70 USE ice_atmo, only: calc_strair, z0atm 70 USE ice_atmo, only: calc_strair, z0atm, z0atmskin 71 71 72 72 USE CICE_InitMod … … 187 187 CALL CICE_Initialize 188 188 189 IF(lwp) THEN ! control print190 WRITE(numout,*)191 WRITE(numout,*)'============================================================='192 WRITE(numout,*)'In cice_sbc_init, after call to CICE_Initialize'193 WRITE(numout,*)'MAXVAL(z0atm): ', MAXVAL(z0atm)194 WRITE(numout,*)'MAXLOC(z0atm): ', MAXLOC(z0atm)195 WRITE(numout,*)'MINVAL(z0atm): ', MINVAL(z0atm)196 WRITE(numout,*)'MINLOC(z0atm): ', MINLOC(z0atm)197 WRITE(numout,*)'============================================================='198 WRITE(numout,*)199 ENDIF200 201 189 ! Do some CICE consistency checks 202 190 IF ( (ksbc == jp_flx) .OR. (ksbc == jp_purecpl) ) THEN … … 272 260 273 261 CALL cice2nemo(z0atm,fmdice,'T', 1. ) 262 CALL cice2nemo(z0atmskin,rough_ice_skin,'T', 1. ) 274 263 275 264 IF( .NOT. ln_rstart ) THEN … … 323 312 IF( nn_timing == 1 ) CALL timing_stop('cice_sbc_init') 324 313 ! 314 315 316 IF(lwp) THEN ! control print 317 WRITE(numout,*) 318 WRITE(numout,*)'=============================================================' 319 WRITE(numout,*)'At end of subroutine cice_sbc_init' 320 WRITE(numout,*)'MAXVAL(z0atm): ', MAXVAL(z0atm) 321 WRITE(numout,*)'MAXLOC(z0atm): ', MAXLOC(z0atm) 322 WRITE(numout,*)'MINVAL(z0atm): ', MINVAL(z0atm) 323 WRITE(numout,*)'MINLOC(z0atm): ', MINLOC(z0atm) 324 WRITE(numout,*)'MAXVAL(z0atmskin): ', MAXVAL(z0atmskin) 325 WRITE(numout,*)'MAXLOC(z0atmskin): ', MAXLOC(z0atmskin) 326 WRITE(numout,*)'MINVAL(z0atmskin): ', MINVAL(z0atmskin) 327 WRITE(numout,*)'MINLOC(z0atmskin): ', MINLOC(z0atmskin) 328 WRITE(numout,*)'=============================================================' 329 WRITE(numout,*) 330 ENDIF 331 332 333 325 334 END SUBROUTINE cice_sbc_init 326 335 … … 803 812 CALL cice2nemo(z0atm,fmdice,'T', 1. ) 804 813 814 ! Surface skin roughness length 815 CALL cice2nemo(z0atmskin,rough_ice_skin,'T', 1. ) 816 805 817 ! 806 818 IF( nn_timing == 1 ) CALL timing_stop('cice_sbc_hadgam') -
branches/UKMO/dev_r5518_GO6_package_r8356_plus_form_drag/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
r8280 r8819 306 306 ! 307 307 IF( nn_ice == 3 ) CALL sbc_lim_init ! LIM3 initialisation 308 309 308 IF( nn_ice == 4 ) CALL cice_sbc_init( nsbc ) ! CICE initialisation 310 309 311 310 END SUBROUTINE sbc_init 312 311
Note: See TracChangeset
for help on using the changeset viewer.