Changeset 14982
- Timestamp:
- 2021-06-11T16:52:03+02:00 (3 years ago)
- Location:
- NEMO/trunk/src/OCE
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/OCE/OBS/diaobs.F90
r14834 r14982 99 99 CHARACTER(len=8), PUBLIC, DIMENSION(:), ALLOCATABLE :: cobstypesprof, cobstypessurf !: Profile & surface obs types 100 100 101 # include "domzgr_substitute.h90" 101 102 !!---------------------------------------------------------------------- 102 103 !! NEMO/OCE 4.0 , NEMO Consortium (2018) … … 623 624 INTEGER :: jtype ! Data loop variable 624 625 INTEGER :: jvar ! Variable number 625 INTEGER :: ji, jj 626 INTEGER :: ji, jj, jk ! Loop counters 626 627 REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE :: & 627 628 & zprofvar ! Model values for variables in a prof ob … … 634 635 & zglam, & ! Model longitudes for prof variables 635 636 & zgphi ! Model latitudes for prof variables 637 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: zdept, zdepw 636 638 637 639 !----------------------------------------------------------------------- … … 650 652 651 653 IF ( nproftypes > 0 ) THEN 654 655 ALLOCATE( zdept(jpi,jpj,jpk), zdepw(jpi,jpj,jpk) ) 656 DO jk = 1, jpk 657 zdept(:,:,jk) = gdept(:,:,jk,Kmm) 658 zdepw(:,:,jk) = gdepw(:,:,jk,Kmm) 659 END DO 652 660 653 661 DO jtype = 1, nproftypes … … 687 695 & nit000, idaystp, jvar, & 688 696 & zprofvar(:,:,:,jvar), & 689 & gdept(:,:,:,Kmm), gdepw(:,:,:,Kmm), &697 & zdept(:,:,:), zdepw(:,:,:), & 690 698 & zprofmask(:,:,:,jvar), & 691 699 & zglam(:,:,jvar), zgphi(:,:,jvar), & … … 697 705 698 706 END DO 707 708 DEALLOCATE( zdept, zdepw ) 699 709 700 710 ENDIF -
NEMO/trunk/src/OCE/OBS/obs_prep.F90
r14275 r14982 33 33 PUBLIC calc_month_len ! Calculate the number of days in the months of a year 34 34 35 # include "domzgr_substitute.h90" 35 36 !!---------------------------------------------------------------------- 36 37 !! NEMO/OCE 4.0 , NEMO Consortium (2018) … … 1074 1075 & gdepw_1d, & 1075 1076 & gdepw_0, & 1076 & gdepw, 1077 & gdepw, r3t, & 1077 1078 & gdept, & 1078 1079 & ln_zco, & … … 1128 1129 & zglam, & ! Model longitude at grid points 1129 1130 & zgphi ! Model latitude at grid points 1131 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zdepw 1130 1132 INTEGER, DIMENSION(2,2,kprofno) :: & 1131 1133 & igrdi, & ! Grid i,j … … 1186 1188 CALL obs_int_comm_2d( 2, 2, kprofno, kpi, kpj, igrdi, igrdj, plam, zglam ) 1187 1189 CALL obs_int_comm_2d( 2, 2, kprofno, kpi, kpj, igrdi, igrdj, pphi, zgphi ) 1188 CALL obs_int_comm_3d( 2, 2, kprofno, kpi, kpj, kpk, igrdi, igrdj, gdepw(:,:,:,Kmm), & 1189 & zgdepw ) 1190 DO jk = 1, jpk 1191 zdepw(:,:,jk) = gdepw(:,:,jk,Kmm) 1192 END DO 1193 CALL obs_int_comm_3d( 2, 2, kprofno, kpi, kpj, kpk, igrdi, igrdj, zdepw(:,:,:), zgdepw ) 1190 1194 1191 1195 DO jobs = 1, kprofno -
NEMO/trunk/src/OCE/TRA/tradmp.F90
r14718 r14982 53 53 !! * Substitutions 54 54 # include "do_loop_substitute.h90" 55 # include "domzgr_substitute.h90" 55 56 !!---------------------------------------------------------------------- 56 57 !! NEMO/OCE 4.0 , NEMO Consortium (2018) … … 96 97 INTEGER :: ji, jj, jk, jn ! dummy loop indices 97 98 REAL(wp), DIMENSION(A2D(nn_hls),jpk,jpts) :: zts_dta 99 REAL(wp), DIMENSION(:,:,:) , ALLOCATABLE :: zwrk 98 100 REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE :: ztrdts 99 101 !!---------------------------------------------------------------------- … … 102 104 ! 103 105 IF( l_trdtra .OR. iom_use('hflx_dmp_cea') .OR. iom_use('sflx_dmp_cea') ) THEN !* Save ta and sa trends 104 ALLOCATE( ztrdts(jpi,jpj,jpk,jpts) ) 105 ztrdts(:,:,:,:) = pts(:,:,:,:,Krhs) 106 ALLOCATE( ztrdts(A2D(nn_hls),jpk,jpts) ) 107 DO jn = 1, jpts 108 DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpk ) 109 ztrdts(ji,jj,jk,jn) = pts(ji,jj,jk,jn,Krhs) 110 END_3D 111 END DO 106 112 ENDIF 107 113 ! !== input T-S data at kt ==! … … 141 147 ! 142 148 ! outputs (clem trunk) 143 IF( iom_use('hflx_dmp_cea') ) & 144 & CALL iom_put('hflx_dmp_cea', & 145 & SUM( ( pts(:,:,:,jp_tem,Krhs) - ztrdts(:,:,:,jp_tem) ) * e3t(:,:,:,Kmm), dim=3 ) * rcp * rho0 ) ! W/m2 146 IF( iom_use('sflx_dmp_cea') ) & 147 & CALL iom_put('sflx_dmp_cea', & 148 & SUM( ( pts(:,:,:,jp_sal,Krhs) - ztrdts(:,:,:,jp_sal) ) * e3t(:,:,:,Kmm), dim=3 ) * rho0 ) ! g/m2/s 149 IF( iom_use('hflx_dmp_cea') .OR. iom_use('sflx_dmp_cea') ) THEN 150 ALLOCATE( zwrk(A2D(nn_hls),jpk) ) ! Needed to handle expressions containing e3t when using key_qco or key_linssh 151 zwrk(:,:,:) = 0._wp 152 153 IF( iom_use('hflx_dmp_cea') ) THEN 154 DO_3D( 0, 0, 0, 0, 1, jpk ) 155 zwrk(ji,jj,jk) = ( pts(ji,jj,jk,jp_tem,Krhs) - ztrdts(ji,jj,jk,jp_tem) ) * e3t(ji,jj,jk,Kmm) 156 END_3D 157 CALL iom_put('hflx_dmp_cea', SUM( zwrk(:,:,:), dim=3 ) * rcp * rho0 ) ! W/m2 158 ENDIF 159 IF( iom_use('sflx_dmp_cea') ) THEN 160 DO_3D( 0, 0, 0, 0, 1, jpk ) 161 zwrk(ji,jj,jk) = ( pts(ji,jj,jk,jp_sal,Krhs) - ztrdts(ji,jj,jk,jp_sal) ) * e3t(ji,jj,jk,Kmm) 162 END_3D 163 CALL iom_put('sflx_dmp_cea', SUM( zwrk(:,:,:), dim=3 ) * rho0 ) ! g/m2/s 164 ENDIF 165 166 DEALLOCATE( zwrk ) 167 ENDIF 149 168 ! 150 169 IF( l_trdtra ) THEN ! trend diagnostic -
NEMO/trunk/src/OCE/ZDF/zdfric.F90
r14834 r14982 51 51 !! * Substitutions 52 52 # include "do_loop_substitute.h90" 53 # include "domzgr_substitute.h90" 53 54 !!---------------------------------------------------------------------- 54 55 !! NEMO/OCE 4.0 , NEMO Consortium (2018)
Note: See TracChangeset
for help on using the changeset viewer.