Changeset 8892 for branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/OPA_SRC
- Timestamp:
- 2017-12-04T15:09:10+01:00 (6 years ago)
- Location:
- branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/OPA_SRC
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r8879 r8892 44 44 ! 45 45 USE in_out_manager ! I/O manager 46 use lib_fortran 46 47 USE iom ! NetCDF library 47 48 USE lib_mpp ! distribued memory computing library … … 1133 1134 ! 1134 1135 IF( ln_mixcpl ) zmsk(:,:) = 1. - xcplmask(:,:,0) 1136 1137 write(numout,*) "RSRH in sbc_cpl_rcv",kt 1138 write(numout,*) "RSRH in sbc_cpl_rcv qns, emp, sfx",kt, glob_sum(qns(:,:)), glob_sum(emp(:,:)),glob_sum( sfx(:,:));flush(numout) 1139 1135 1140 ! 1136 1141 ! ! ======================================================= ! … … 1222 1227 ENDIF 1223 1228 ! ! ========================= ! 1229 write(numout,*) "RSRH in sbc_cpl_rcv BB qns, emp, sfx",kt, glob_sum(qns(:,:)), glob_sum(emp(:,:)),glob_sum( sfx(:,:));flush(numout) 1224 1230 ! ! wind stress module ! (taum) 1225 1231 ! ! ========================= ! … … 1284 1290 1285 1291 ! ! ================== ! 1292 write(numout,*) "RSRH in sbc_cpl_rcv CC qns, emp, sfx",kt, glob_sum(qns(:,:)), glob_sum(emp(:,:)),glob_sum( sfx(:,:));flush(numout) 1286 1293 ! ! atmosph. CO2 (ppm) ! 1287 1294 ! ! ================== ! … … 1421 1428 ENDIF 1422 1429 1430 write(numout,*) "RSRH in sbc_cpl_rcv QQ qns, emp, sfx",kt, glob_sum(qns(:,:)), glob_sum(emp(:,:)),glob_sum( sfx(:,:));flush(numout) 1423 1431 ! ! ========================= ! 1424 1432 IF( k_ice <= 1 .AND. MOD( kt-1, k_fsbc ) == 0 ) THEN ! heat & freshwater fluxes ! (Ocean only case) … … 1452 1460 ELSE ; emp(:,:) = zemp(:,:) 1453 1461 ENDIF 1462 write(numout,*) "RSRH in sbc_cpl_rcv VV qns, emp, sfx",kt, glob_sum(qns(:,:)), glob_sum(emp(:,:)),glob_sum( sfx(:,:));flush(numout) 1454 1463 ! 1455 1464 ! ! non solar heat flux over the ocean (qns) … … 1488 1497 ! 1489 1498 ENDIF 1499 write(numout,*) "RSRH in sbc_cpl_rcv ZZ qns, emp, sfx",kt, glob_sum(qns(:,:)), glob_sum(emp(:,:)),glob_sum( sfx(:,:));flush(numout) 1490 1500 ! 1491 1501 CALL wrk_dealloc( jpi,jpj, ztx, zty, zmsk, zemp, zqns, zqsr, ztx2, zty2 ) … … 1778 1788 CALL wrk_alloc( jpi,jpj,jpl, zqns_ice, zqsr_ice, zdqns_ice, zqevap_ice, zfrqsr_tr_i ) 1779 1789 1790 write(numout,*) "RSRH in sbc_cpl_ice_flx AA qns, emp, sfx", glob_sum(qns(:,:)), glob_sum(emp(:,:)),glob_sum( sfx(:,:));flush(numout) 1791 write(numout,*) "RSRH in sbc_cpl_ice_flx AA emp_tot, emp_ice, emp_oce", glob_sum(emp_tot(:,:)), glob_sum(emp_ice(:,:)), glob_sum(emp_oce(:,:));flush(numout) 1792 1793 1780 1794 IF (sn_rcv_emp%clcat == 'yes') THEN 1781 1795 CALL wrk_alloc( jpi, jpj, jpl, zevap_ice) … … 1798 1812 SELECT CASE( TRIM( sn_rcv_emp%cldes ) ) 1799 1813 CASE( 'conservative' ) ! received fields: jpr_rain, jpr_snow, jpr_ievp, jpr_tevp 1814 write(numout,*) "RSRH in sbc_cpl_ice_flx BB con case" 1800 1815 zsprecip(:,:) = frcv(jpr_snow)%z3(:,:,1) ! May need to ensure positive here 1801 1816 ztprecip(:,:) = frcv(jpr_rain)%z3(:,:,1) + zsprecip(:,:) ! May need to ensure positive here 1802 1817 zemp_tot(:,:) = frcv(jpr_tevp)%z3(:,:,1) - ztprecip(:,:) 1803 1818 zemp_ice(:,:) = ( frcv(jpr_ievp)%z3(:,:,1) - frcv(jpr_snow)%z3(:,:,1) ) * picefr(:,:) 1819 write(numout,*) "RSRH in sbc_cpl_ice_flx BB con casejpr_snow ",glob_sum(frcv(jpr_snow)%z3(:,:,1)); flush(numout) 1820 write(numout,*) "RSRH in sbc_cpl_ice_flx BB con casejpr_rain ",glob_sum(frcv(jpr_rain)%z3(:,:,1)); flush(numout) 1821 write(numout,*) "RSRH in sbc_cpl_ice_flx BB con casejpr_tevp ",glob_sum(frcv(jpr_tevp)%z3(:,:,1)); flush(numout) 1822 write(numout,*) "RSRH in sbc_cpl_ice_flx BB con casejpr_ievp ",glob_sum(frcv(jpr_ievp)%z3(:,:,1)); flush(numout) 1823 write(numout,*) "RSRH in sbc_cpl_ice_flx BB con case picefr ",glob_sum(picefr(:,:)); flush(numout) 1804 1824 CASE( 'oce and ice' ) ! received fields: jpr_sbpr, jpr_semp, jpr_oemp, jpr_ievp 1825 write(numout,*) "RSRH in sbc_cpl_ice_flx BB oce and ice case" 1805 1826 zemp_tot(:,:) = ziceld(:,:) * frcv(jpr_oemp)%z3(:,:,1) + picefr(:,:) * frcv(jpr_sbpr)%z3(:,:,1) 1806 1827 zemp_ice(:,:) = frcv(jpr_semp)%z3(:,:,1) * picefr(:,:) … … 1808 1829 ztprecip(:,:) = frcv(jpr_semp)%z3(:,:,1) - frcv(jpr_sbpr)%z3(:,:,1) + zsprecip(:,:) 1809 1830 END SELECT 1831 write(numout,*) "RSRH in sbc_cpl_ice_flx BB what case?",TRIM( sn_rcv_emp%cldes ) 1832 1833 write(numout,*) "RSRH in sbc_cpl_ice_flx BB emp_tot, emp_ice, emp_oce", glob_sum(emp_tot(:,:)), glob_sum(emp_ice(:,:)), glob_sum(emp_oce(:,:));flush(numout) 1834 write(numout,*) "RSRH in sbc_cpl_ice_flx BB zemp_tot, zemp_ice", glob_sum(zemp_tot(:,:)), glob_sum(zemp_ice(:,:));flush(numout) 1810 1835 1811 1836 #if defined key_lim3 … … 1906 1931 1907 1932 #endif 1933 write(numout,*) "RSRH in sbc_cpl_ice_flx LL emp_tot, emp_ice, emp_oce", glob_sum(emp_tot(:,:)), glob_sum(emp_ice(:,:)), glob_sum(emp_oce(:,:));flush(numout) 1908 1934 ! outputs 1909 1935 !! IF( srcv(jpr_rnf)%laction ) CALL iom_put( 'runoffs' , rnf(:,:) * tmask(:,:,1) ) ! runoff … … 1975 2001 ! Heat content per unit mass of rain (J/kg) 1976 2002 zcptrain(:,:) = rcp * ( SUM( (tn_ice(:,:,:) - rt0) * a_i(:,:,:), dim=3 ) + sst_m(:,:) * ziceld(:,:) ) 2003 write(numout,*) "RSRH in sbc_cpl_ice_flx NN zcptsnw,zcptn", glob_sum(zcptsnw(:,:)), glob_sum(zcptn(:,:));flush(numout) 1977 2004 1978 2005 ! --- enthalpy of snow precip over ice in J/m3 (to be used in 1D-thermo) --- ! … … 1991 2018 !! zqemp_ice(:,:) = - frcv(jpr_ievp)%z3(:,:,1) * picefr(:,:) * zcptsnw (:,:) & ! ice evap 1992 2019 !! & + zsprecip(:,:) * zsnw * zqprec_ice(:,:) * r1_rhosn ! solid precip over ice 2020 write(numout,*) "RSRH in sbc_cpl_ice_flx NN zsprecip,zcptrain", glob_sum(zsprecip(:,:)), glob_sum(zcptrain(:,:));flush(numout) 1993 2021 1994 2022 ! --- total non solar flux (including evap/precip) --- ! … … 1997 2025 ! --- in case both coupled/forced are active, we must mix values --- ! 1998 2026 IF( ln_mixcpl ) THEN 2027 write(numout,*) "RSRH in sbc_cpl_ice_flx OO.1 zqns_tot,zqns_ice, zqns_oce", glob_sum(zqns_tot(:,:)), glob_sum(zqns_ice(:,:,:)), glob_sum(zqns_oce(:,:));flush(numout) 2028 write(numout,*) "RSRH in sbc_cpl_ice_flx OO.1 xcplmask", glob_sum(xcplmask(:,:,0));flush(numout) 2029 write(numout,*) "RSRH in sbc_cpl_ice_flx OO.1 xcplmask", glob_sum(Zmsk(:,:));flush(numout) 1999 2030 qns_tot(:,:) = qns_tot(:,:) * xcplmask(:,:,0) + zqns_tot(:,:)* zmsk(:,:) 2000 2031 qns_oce(:,:) = qns_oce(:,:) * xcplmask(:,:,0) + zqns_oce(:,:)* zmsk(:,:) 2032 write(numout,*) "RSRH in sbc_cpl_ice_flx OO.2 zqns_tot,zqns_ice, zqns_oce", glob_sum(zqns_tot(:,:)), glob_sum(zqns_ice(:,:,:)), glob_sum(zqns_oce(:,:));flush(numout) 2001 2033 DO jl=1,jpl 2002 2034 qns_ice (:,:,jl) = qns_ice (:,:,jl) * xcplmask(:,:,0) + zqns_ice (:,:,jl)* zmsk(:,:) 2003 2035 qevap_ice(:,:,jl) = qevap_ice(:,:,jl) * xcplmask(:,:,0) + zqevap_ice(:,:,jl)* zmsk(:,:) 2004 2036 ENDDO 2037 write(numout,*) "RSRH in sbc_cpl_ice_flx OO.3 zqns_tot,zqns_ice, zqns_oce", glob_sum(zqns_tot(:,:)), glob_sum(zqns_ice(:,:,:)), glob_sum(zqns_oce(:,:));flush(numout) 2005 2038 qprec_ice(:,:) = qprec_ice(:,:) * xcplmask(:,:,0) + zqprec_ice(:,:)* zmsk(:,:) 2006 2039 qemp_oce (:,:) = qemp_oce(:,:) * xcplmask(:,:,0) + zqemp_oce(:,:)* zmsk(:,:) 2007 2040 qemp_ice (:,:) = qemp_ice(:,:) * xcplmask(:,:,0) + zqemp_ice(:,:)* zmsk(:,:) 2041 write(numout,*) "RSRH in sbc_cpl_ice_flx OO.4 zqns_tot,zqns_ice, zqns_oce", glob_sum(zqns_tot(:,:)), glob_sum(zqns_ice(:,:,:)), glob_sum(zqns_oce(:,:));flush(numout) 2008 2042 ELSE 2043 write(numout,*) "RSRH in sbc_cpl_ice_flx PP zqns_tot,zqns_ice, zqns_oce", glob_sum(zqns_tot(:,:)), glob_sum(zqns_ice(:,:,:)), glob_sum(zqns_oce(:,:));flush(numout) 2009 2044 qns_tot (:,: ) = zqns_tot (:,: ) 2010 2045 qns_oce (:,: ) = zqns_oce (:,: ) … … 2015 2050 qemp_ice (:,: ) = zqemp_ice (:,: ) 2016 2051 ENDIF 2052 write(numout,*) "RSRH in sbc_cpl_ice_flx PP qns_tot, qns_ice, qns_oce", glob_sum(qns_tot(:,:)), glob_sum(qns_ice(:,:)), glob_sum(qns_oce(:,:));flush(numout) 2017 2053 2018 2054 #else … … 2049 2085 ! note: hflx for runoff and iceshelf are done in sbcrnf and sbcisf resp. 2050 2086 ! 2087 write(numout,*) "RSRH in sbc_cpl_ice_flx MM qns, emp, sfx", glob_sum(qns(:,:)), glob_sum(emp(:,:)),glob_sum( sfx(:,:));flush(numout) 2051 2088 ! ! ========================= ! 2052 2089 SELECT CASE( TRIM( sn_rcv_qsr%cldes ) ) ! solar heat fluxes ! (qsr) … … 2202 2239 CALL wrk_dealloc( jpi,jpj,1,zevap_ice) 2203 2240 ENDIF 2241 write(numout,*) "RSRH in sbc_cpl_ice_flx ZZ qns, emp, sfx", glob_sum(qns(:,:)), glob_sum(emp(:,:)),glob_sum( sfx(:,:));flush(numout) 2204 2242 ! 2205 2243 IF( nn_timing == 1 ) CALL timing_stop('sbc_cpl_ice_flx') -
branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssm.F90
r8879 r8892 20 20 ! 21 21 USE in_out_manager ! I/O manager 22 use lib_fortran 22 23 USE prtctl ! Print control 23 24 USE iom ! IOM library … … 59 60 ! 60 61 ! !* surface T-, U-, V- ocean level variables (T, S, depth, velocity) 62 write(numout,*) "RSRH sbcssm tsb", kt, glob_sum(tsb(:,:,:,jp_tem)); flush(numout) 63 write(numout,*) "RSRH sbcssm tsn", kt, glob_sum(tsn(:,:,:,jp_tem)); flush(numout) 64 write(numout,*) "RSRH sbcssm tsa", kt, glob_sum(tsa(:,:,:,jp_tem)); flush(numout) 65 write(numout,*) "RSRH PE sbcssm tsb", kt, sum(tsb(:,:,:,jp_tem)); flush(numout) 66 write(numout,*) "RSRH PE sbcssm tsn", kt, sum(tsn(:,:,:,jp_tem)); flush(numout) 67 write(numout,*) "RSRH PE sbcssm tsa", kt, sum(tsa(:,:,:,jp_tem)); flush(numout) 61 68 DO jj = 1, jpj 62 69 DO ji = 1, jpi 63 zts(ji,jj,jp_tem) = ts n(ji,jj,mikt(ji,jj),jp_tem)64 zts(ji,jj,jp_sal) = ts n(ji,jj,mikt(ji,jj),jp_sal)70 zts(ji,jj,jp_tem) = tsb(ji,jj,mikt(ji,jj),jp_tem) 71 zts(ji,jj,jp_sal) = tsb(ji,jj,mikt(ji,jj),jp_sal) 65 72 END DO 66 73 END DO … … 68 75 IF( nn_fsbc == 1 ) THEN ! Instantaneous surface fields ! 69 76 ! ! ---------------------------------------- ! 77 write(numout,*) "RSRH sbcssm nnfsbc=1", kt; flush(numout) 78 write(numout,*) "RSRH sbcssm ub 00", kt, glob_sum(ub(:,:,1)); flush(numout) 79 write(numout,*) "RSRH sbcssm vb 00", kt, glob_sum(vb(:,:,1)); flush(numout) 80 write(numout,*) "RSRH sbcssm ssu_m 00", kt, glob_sum(ssu_m(:,:)); flush(numout) 81 write(numout,*) "RSRH sbcssm ssv_m 00", kt, glob_sum(ssv_m(:,:)); flush(numout) 82 write(numout,*) "RSRH sbcssm sst_m 00", kt, glob_sum(sst_m(:,:)); flush(numout) 83 70 84 ssu_m(:,:) = ub(:,:,1) 71 85 ssv_m(:,:) = vb(:,:,1) 72 IF( l_useCT ) THEN ; sst_m(:,:) = eos_pt_from_ct( zts(:,:,jp_tem), zts(:,:,jp_sal) ) 73 ELSE ; sst_m(:,:) = zts(:,:,jp_tem) 86 write(numout,*) "RSRH sbcssm ub 01", kt, glob_sum(ub(:,:,1)); flush(numout) 87 write(numout,*) "RSRH sbcssm vb 01", kt, glob_sum(vb(:,:,1)); flush(numout) 88 write(numout,*) "RSRH sbcssm ssu_m 01", kt, glob_sum(ssu_m(:,:)); flush(numout) 89 write(numout,*) "RSRH sbcssm ssv_m 01", kt, glob_sum(ssv_m(:,:)); flush(numout) 90 IF( l_useCT ) THEN 91 sst_m(:,:) = eos_pt_from_ct( zts(:,:,jp_tem), zts(:,:,jp_sal) ) 92 write(numout,*) "RSRH sbcssm sst_m AA", kt, glob_sum(sst_m(:,:)); flush(numout) 93 ELSE 94 sst_m(:,:) = zts(:,:,jp_tem) 95 write(numout,*) "RSRH sbcssm sst_m BB", kt, glob_sum(sst_m(:,:)); flush(numout) 74 96 ENDIF 75 97 sss_m(:,:) = zts(:,:,jp_sal) 76 98 ! ! removed inverse barometer ssh when Patm forcing is used (for sea-ice dynamics) 77 IF( ln_apr_dyn ) THEN ; ssh_m(:,:) = sshn(:,:) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) 78 ELSE ; ssh_m(:,:) = sshn(:,:) 99 IF( ln_apr_dyn ) THEN 100 ssh_m(:,:) = sshn(:,:) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) 101 ELSE 102 ssh_m(:,:) = sshn(:,:) 79 103 ENDIF 80 104 ! … … 84 108 ! 85 109 ELSE 110 write(numout,*) "RSRH sbcssm nnfsbc NOT 1", kt; flush(numout) 86 111 ! ! ----------------------------------------------- ! 87 112 IF( kt == nit000 .AND. .NOT. l_ssm_mean ) THEN ! Initialisation: 1st time-step, no input means ! 88 ! ! ----------------------------------------------- ! 113 write(numout,*) "RSRH sbcssm nnfsbc NOT 1 BB", kt; flush(numout) 114 ! ! ----------------------------------------------- ! 89 115 IF(lwp) WRITE(numout,*) 90 116 IF(lwp) WRITE(numout,*) 'sbc_ssm : mean fields initialised to instantaneous values' … … 107 133 ! ! ---------------------------------------- ! 108 134 ELSEIF( MOD( kt - 2 , nn_fsbc ) == 0 ) THEN ! Initialisation: New mean computation ! 135 write(numout,*) "RSRH sbcssm nnfsbc NOT 1 CC", kt; flush(numout) 109 136 ! ! ---------------------------------------- ! 110 137 ssu_m(:,:) = 0._wp ! reset to zero ocean mean sbc fields … … 119 146 ! ! Cumulate at each time step ! 120 147 ! ! ---------------------------------------- ! 148 write(numout,*) "RSRH sbcssm DD add ub vb", kt; flush(numout) 149 write(numout,*) "RSRH sbcssm ub DD", kt, glob_sum(ub(:,:,1)); flush(numout) 150 write(numout,*) "RSRH sbcssm vb DD", kt, glob_sum(vb(:,:,1)); flush(numout) 151 write(numout,*) "RSRH sbcssm ssu_m DD", kt, glob_sum(ssu_m(:,:)); flush(numout) 152 write(numout,*) "RSRH sbcssm ssv_m DD", kt, glob_sum(ssv_m(:,:)); flush(numout) 153 write(numout,*) "RSRH sbcssm sst_m DD", kt, glob_sum(sst_m(:,:)); flush(numout) 121 154 ssu_m(:,:) = ssu_m(:,:) + ub(:,:,1) 122 155 ssv_m(:,:) = ssv_m(:,:) + vb(:,:,1) 123 IF( l_useCT ) THEN ; sst_m(:,:) = sst_m(:,:) + eos_pt_from_ct( zts(:,:,jp_tem), zts(:,:,jp_sal) ) 124 ELSE ; sst_m(:,:) = sst_m(:,:) + zts(:,:,jp_tem) 156 write(numout,*) "RSRH ub DD aft", kt, glob_sum(ub(:,:,1)); flush(numout) 157 write(numout,*) "RSRH vb DD aft", kt, glob_sum(vb(:,:,1)); flush(numout) 158 write(numout,*) "RSRH ssu_m DD aft", kt, glob_sum(ssu_m(:,:)); flush(numout) 159 write(numout,*) "RSRH ssv_m DD aft", kt, glob_sum(ssv_m(:,:)); flush(numout) 160 IF( l_useCT ) THEN 161 write(numout,*) "RSRH sbcssm EE update sst_m", kt; flush(numout) 162 sst_m(:,:) = sst_m(:,:) + eos_pt_from_ct( zts(:,:,jp_tem), zts(:,:,jp_sal) ) 163 ELSE 164 write(numout,*) "RSRH sbcssm FF update sst_m", kt; flush(numout) 165 sst_m(:,:) = sst_m(:,:) + zts(:,:,jp_tem) 125 166 ENDIF 126 167 sss_m(:,:) = sss_m(:,:) + zts(:,:,jp_sal) … … 145 186 e3t_m(:,:) = e3t_m(:,:) * zcoef ! mean vertical scale factor [m] 146 187 frq_m(:,:) = frq_m(:,:) * zcoef ! mean fraction of solar net radiation absorbed in the 1st T level [-] 147 ! 188 write(numout,*) "RSRH ub EE aft", kt, glob_sum(ub(:,:,1)); flush(numout) 189 write(numout,*) "RSRH vb EE aft", kt, glob_sum(vb(:,:,1)); flush(numout) 190 write(numout,*) "RSRH ssu_m EE aft", kt, glob_sum(ssu_m(:,:)); flush(numout) 191 write(numout,*) "RSRH ssv_m EE aft", kt, glob_sum(ssv_m(:,:)); flush(numout) 192 write(numout,*) "RSRH sst_m EE aft", kt, glob_sum(sst_m(:,:)); flush(numout) 193 ! 148 194 ENDIF 149 195 ! ! ---------------------------------------- ! … … 235 281 ENDIF 236 282 ENDIF 237 ! 283 284 write(numout,*) "RSRH ub FF aft", glob_sum(ub(:,:,1)); flush(numout) 285 write(numout,*) "RSRH vb FF aft", glob_sum(vb(:,:,1)); flush(numout) 286 write(numout,*) "RSRH ssu_m FF aft", glob_sum(ssu_m(:,:)); flush(numout) 287 write(numout,*) "RSRH ssv_m FF aft", glob_sum(ssv_m(:,:)); flush(numout) 288 289 290 ! 238 291 IF( .NOT. l_ssm_mean ) THEN ! default initialisation. needed by iceistate 239 292 ! -
branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/OPA_SRC/TRA/trasbc.F90
r8877 r8892 27 27 USE trd_oce ! trends: ocean variables 28 28 USE trdtra ! trends manager: tracers 29 use lib_fortran 29 30 ! 30 31 USE in_out_manager ! I/O manager … … 91 92 ztrds(:,:,:) = tsa(:,:,:,jp_sal) 92 93 ENDIF 94 95 write(numout,*) "RSRH tra_sbc tsb, tsa, tsn AA", kt, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 96 93 97 ! 94 98 !!gm This should be moved into sbcmod.F90 module ? (especially now that ln_traqsr is read in namsbc namelist) … … 119 123 sbc_tsc_b(:,:,:) = sbc_tsc(:,:,:) 120 124 ENDIF 125 write(numout,*) "RSRH tra_sbc tsb, tsa, tsn BB", kt, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 121 126 ! !== Now sbc tracer content fields ==! 122 127 DO jj = 2, jpj … … 136 141 IF( iom_use('emp_x_sss') ) CALL iom_put( "emp_x_sss", emp (:,:) * tsn(:,:,1,jp_sal) ) 137 142 ENDIF 143 write(numout,*) "RSRH tra_sbc tsb, tsa, tsn CC", kt, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 144 write(numout,*) "RSRH tra_sbc qns, emp, sfx FF", kt, glob_sum(qns(:,:)), glob_sum(emp(:,:)), glob_sum(sfx(:,:)); flush(numout) 145 write(numout,*) "RSRH tra_sbc tsn FF", kt, glob_sum(tsn(:,:,1,1)); flush(numout) 146 write(numout,*) "RSRH tra_sbc e3t_n FF", kt, glob_sum(e3t_n(:,:,1)); flush(numout) 147 write(numout,*) "RSRH tra_sbc sbc_tsc_b, sbc_tsc FF", kt, glob_sum(sbc_tsc_b(:,:,1)), glob_sum(sbc_tsc(:,:,1)); flush(numout) 138 148 ! 139 149 DO jn = 1, jpts !== update tracer trend ==! … … 144 154 END DO 145 155 END DO 156 write(numout,*) "RSRH tra_sbc tsb, tsa, tsn DD", kt, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 146 157 ! 147 158 IF( lrst_oce ) THEN !== write sbc_tsc in the ocean restart file ==! … … 158 169 !!gm probably taken into account in r1_hisf_tbl : to be verified 159 170 IF( ln_isf ) THEN 171 write(numout,*) "RSRH tra_sbc risf_tsc_b, risf_tsc FF", kt, glob_sum(risf_tsc_b(:,:,1)), glob_sum(risf_tsc(:,:,1)); flush(numout) 160 172 zfact = 0.5_wp 161 173 DO jj = 2, jpj … … 183 195 END DO 184 196 END IF 197 write(numout,*) "RSRH tra_sbc tsb, tsa, tsn EE", kt, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 185 198 ! 186 199 !---------------------------------------- … … 189 202 ! 190 203 IF( ln_rnf ) THEN ! input of heat and salt due to river runoff 204 write(numout,*) "RSRH tra_sbc rnf_tsc_b, rnf_tsc FF", kt, glob_sum(rnf_tsc_b(:,:,1)), glob_sum(rnf_tsc(:,:,1)); flush(numout) 191 205 zfact = 0.5_wp 192 206 DO jj = 2, jpj … … 204 218 END DO 205 219 ENDIF 220 write(numout,*) "RSRH tra_sbc tsb, tsa, tsn FF", kt, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 206 221 207 222 IF( iom_use('rnf_x_sst') ) CALL iom_put( "rnf_x_sst", rnf*tsn(:,:,1,jp_tem) ) ! runoff term on sst … … 226 241 END DO 227 242 ENDIF 243 write(numout,*) "RSRH tra_sbc tsb, tsa, tsn GG", kt, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 228 244 229 245 IF( l_trdtra ) THEN ! save the horizontal diffusive trends for further diagnostics … … 239 255 ! 240 256 IF( nn_timing == 1 ) CALL timing_stop('tra_sbc') 257 write(numout,*) "RSRH tra_sbc tsb, tsa, tsn HH", kt, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 241 258 ! 242 259 END SUBROUTINE tra_sbc -
branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/OPA_SRC/step.F90
r8879 r8892 38 38 ! 39 39 USE iom ! xIOs server 40 use in_out_manager 41 use lib_fortran 42 use oce 43 40 44 41 45 IMPLICIT NONE … … 116 120 IF( ln_sto_eos ) CALL sto_pts( tsn ) ! Random T/S fluctuations 117 121 122 write(numout,*) "RSRH step tsb, tsa, tsn AA", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 123 118 124 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 119 125 ! Ocean physics update (ua, va, tsa used as workspace) … … 124 130 CALL bn2 ( tsb, rab_b, rn2b ) ! before Brunt-Vaisala frequency 125 131 CALL bn2 ( tsn, rab_n, rn2 ) ! now Brunt-Vaisala frequency 132 write(numout,*) "RSRH step tsb, tsa, tsn BB", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 126 133 127 134 ! … … 139 146 avmv(:,:,:) = rn_avm0 * wvmask(:,:,:) 140 147 ENDIF 148 write(numout,*) "RSRH step tsb, tsa, tsn CC", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 141 149 142 150 IF( ln_rnf_mouth ) THEN ! increase diffusivity at rivers mouths … … 151 159 CALL zdf_mxl( kstp ) ! mixed layer depth 152 160 161 write(numout,*) "RSRH step tsb, tsa, tsn DD", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 153 162 ! write TKE or GLS information in the restart file 154 163 IF( lrst_oce .AND. lk_zdftke ) CALL tke_rst( kstp, 'WRITE' ) … … 173 182 ENDIF 174 183 ENDIF 184 write(numout,*) "RSRH step tsb, tsa, tsn EE", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 175 185 ! ! eddy diffusivity coeff. 176 186 IF( l_ldftra_time .OR. l_ldfeiv_time ) CALL ldf_tra( kstp ) ! and/or eiv coeff. … … 197 207 & rhd, gru , grv , grui, grvi ) ! of t, s, rd at the first ocean level 198 208 !!jc: fs simplification 209 write(numout,*) "RSRH step tsb, tsa, tsn FF", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 199 210 200 211 ua(:,:,:) = 0._wp ! set dynamics trends to zero … … 220 231 CALL wzv ( kstp ) ! now cross-level velocity 221 232 ENDIF 233 write(numout,*) "RSRH step tsb, tsa, tsn GG", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 222 234 223 235 CALL dyn_bfr ( kstp ) ! bottom friction … … 237 249 IF( lk_diadct ) CALL dia_dct( kstp ) ! Transports 238 250 CALL dia_ar5( kstp ) ! ar5 diag 251 write(numout,*) "RSRH step tsb, tsa, tsn HH", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 239 252 IF( lk_diaharm ) CALL dia_harm( kstp ) ! Tidal harmonic analysis 253 write(numout,*) "RSRH step tsb, tsa, tsn HH.1", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 240 254 CALL dia_wri( kstp ) ! ocean model: outputs 255 write(numout,*) "RSRH step tsb, tsa, tsn HH.2", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 241 256 ! 242 257 IF( ln_crs ) CALL crs_fld ( kstp ) ! ocean model: online field coarsening & output 243 258 259 write(numout,*) "RSRH step tsb, tsa, tsn HH.3", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 244 260 #if defined key_top 245 261 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> … … 247 263 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 248 264 CALL trc_stp ( kstp ) ! time-stepping 265 write(numout,*) "RSRH step tsb, tsa, tsn HH.4", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 249 266 #endif 250 267 … … 257 274 & ln_trainc ) CALL tra_asm_inc ( kstp ) ! apply tracer assimilation increment 258 275 CALL tra_sbc ( kstp ) ! surface boundary condition 276 write(numout,*) "RSRH step tsb, tsa, tsn HH.5", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 259 277 IF( ln_traqsr ) CALL tra_qsr ( kstp ) ! penetrative solar radiation qsr 278 write(numout,*) "RSRH step tsb, tsa, tsn HH.6", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 260 279 IF( ln_trabbc ) CALL tra_bbc ( kstp ) ! bottom heat flux 280 write(numout,*) "RSRH step tsb, tsa, tsn HH.7", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 261 281 IF( lk_trabbl ) CALL tra_bbl ( kstp ) ! advective (and/or diffusive) bottom boundary layer scheme 282 write(numout,*) "RSRH step tsb, tsa, tsn HH.8", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 262 283 IF( ln_tradmp ) CALL tra_dmp ( kstp ) ! internal damping trends 284 write(numout,*) "RSRH step tsb, tsa, tsn HH.9", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 263 285 IF( ln_bdy ) CALL bdy_tra_dmp ( kstp ) ! bdy damping trends 286 write(numout,*) "RSRH step tsb, tsa, tsn HH.10", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 264 287 #if defined key_agrif 265 288 IF(.NOT. Agrif_Root()) & 266 289 & CALL Agrif_Sponge_tra ! tracers sponge 267 290 #endif 268 CALL tra_adv ( kstp ) ! horizontal & vertical advection 291 write(numout,*) "RSRH step tsb, tsa, tsn II", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 292 CALL tra_adv ( kstp ) ! horizontal & vertical advection 269 293 CALL tra_ldf ( kstp ) ! lateral mixing 270 294 … … 298 322 ! 299 323 IF( ln_diahsb ) CALL dia_hsb( kstp ) ! - ML - global conservation diagnostics 324 write(numout,*) "RSRH step tsb, tsa, tsn JJ", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 300 325 301 326 !!gm : This does not only concern the dynamics ==>>> add a new title … … 328 353 CALL ctl_stop( 'step: indic < 0' ) 329 354 CALL dia_wri_state( 'output.abort', kstp ) 330 CALL ctl_stop('STOP','NEMO failure in stp')331 355 ENDIF 332 356 IF( kstp == nit000 ) THEN … … 336 360 & CALL FLUSH ( numoni ) ! flush output namelist ice (if exist) 337 361 ENDIF 362 write(numout,*) "RSRH step tsb, tsa, tsn KK", kstp, glob_sum(tsb(:,:,:,1)), glob_sum(tsa(:,:,:,1)),glob_sum(tsn(:,:,:,1)); flush(numout) 338 363 339 364 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 340 365 ! Coupled mode 341 366 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 342 !IF( lk_oasis ) CALL sbc_cpl_snd( kstp ) ! coupled mode : field exchanges 367 !!gm why lk_oasis and not lk_cpl ???? 368 !IF( lk_oasis ) CALL sbc_cpl_snd( kstp ) ! coupled mode : field exchanges 343 369 ! 344 370 #if defined key_iomput
Note: See TracChangeset
for help on using the changeset viewer.