From 3ea676e1762360cce7bf10da5bb56afb022e8c63 Mon Sep 17 00:00:00 2001 From: cetlod <Christian.Ethe@ipsl.fr> Date: Thu, 25 Aug 2022 18:25:16 +0200 Subject: [PATCH] Minor Fix on qsr for TOP --- src/OCE/SBC/sbcblk.F90 | 5 ++++- src/OCE/SBC/sbcflx.F90 | 4 +++- src/OCE/trc_oce.F90 | 2 +- src/TOP/trcstp.F90 | 6 ++++-- src/TOP/trcstp_rk3.F90 | 6 ++++-- 5 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/OCE/SBC/sbcblk.F90 b/src/OCE/SBC/sbcblk.F90 index 9db8db10f..ba5255c90 100644 --- a/src/OCE/SBC/sbcblk.F90 +++ b/src/OCE/SBC/sbcblk.F90 @@ -507,6 +507,7 @@ CONTAINS REAL(wp), DIMENSION(A2D(0)) :: zssq, zcd_du, zsen, zlat, zevp, zpre, ztheta REAL(wp) :: ztst LOGICAL :: llerr + INTEGER :: ji, jj !!---------------------------------------------------------------------- ! CALL fld_read( kt, nn_fsbc, sf ) ! input fields provided at the current time-step @@ -600,7 +601,9 @@ CONTAINS IF( ln_trcdc2dm ) THEN ! diurnal cycle in TOP IF( MOD( kt - 1, nn_fsbc ) == 0 ) THEN IF( ln_dm2dc ) THEN - qsr_mean(:,:) = ( 1. - albo ) * sf(jp_qsr)%fnow(:,:,1) * smask0(:,:) + DO_2D( 0, 0, 0, 0 ) + qsr_mean(ji,jj) = ( 1. - albo ) * sf(jp_qsr)%fnow(ji,jj,1) * smask0(ji,jj) + END_2D ELSE ncpl_qsr_freq = sf(jp_qsr)%freqh * 3600 ! qsr_mean will be computed in TOP ENDIF diff --git a/src/OCE/SBC/sbcflx.F90 b/src/OCE/SBC/sbcflx.F90 index b5e94d0e4..ac04e77f8 100644 --- a/src/OCE/SBC/sbcflx.F90 +++ b/src/OCE/SBC/sbcflx.F90 @@ -136,7 +136,9 @@ CONTAINS #if defined key_top IF( ln_trcdc2dm ) THEN ! diurnal cycle in TOP IF( ln_dm2dc ) THEN - qsr_mean(:,:) = sf(jp_qsr)%fnow(:,:,1) * smask0(:,:) + DO_2D( 0, 0, 0, 0 ) ! set the ocean fluxes from read fields + qsr_mean(ji,jj) = sf(jp_qsr)%fnow(ji,jj,1) * smask0(ji,jj) + END_2D ELSE ncpl_qsr_freq = sf(jp_qsr)%freqh * 3600 ! qsr_mean will be computed in TOP ENDIF diff --git a/src/OCE/trc_oce.F90 b/src/OCE/trc_oce.F90 index f7b8309ee..6810cb875 100644 --- a/src/OCE/trc_oce.F90 +++ b/src/OCE/trc_oce.F90 @@ -54,7 +54,7 @@ CONTAINS !!---------------------------------------------------------------------- !! *** trc_oce_alloc *** !!---------------------------------------------------------------------- - ALLOCATE( etot3(jpi,jpj,jpk), oce_co2(jpi,jpj), qsr_mean(jpi,jpj), STAT=trc_oce_alloc ) + ALLOCATE( etot3(A2D(0),jpk), oce_co2(A2D(0)), qsr_mean(A2D(0)), STAT=trc_oce_alloc ) IF( trc_oce_alloc /= 0 ) CALL ctl_warn('trc_oce_alloc: failed to allocate etot3 array') ! diff --git a/src/TOP/trcstp.F90 b/src/TOP/trcstp.F90 index 065d7f73d..4200f3e9a 100644 --- a/src/TOP/trcstp.F90 +++ b/src/TOP/trcstp.F90 @@ -153,7 +153,7 @@ CONTAINS !!---------------------------------------------------------------------- INTEGER, INTENT( in ) :: kt ! ocean time-step index ! - INTEGER :: jn ! dummy loop indices + INTEGER :: ji,jj,jn ! dummy loop indices REAL(wp) :: zkt, zrec ! local scalars CHARACTER(len=1) :: cl1 ! 1 character CHARACTER(len=2) :: cl2 ! 2 characters @@ -203,7 +203,9 @@ CONTAINS IF(lwp) WRITE(numout,*) 'trc_qsr_mean: qsr_mean set to nit000 values' rsecfst = kt * rn_Dt ! - qsr_mean(:,:) = qsr(:,:) + DO_2D( 0, 0, 0, 0 ) + qsr_mean(ji,jj) = qsr(ji,jj) + END_2D DO jn = 1, nb_rec_per_day qsr_arr(:,:,jn) = qsr_mean(:,:) END DO diff --git a/src/TOP/trcstp_rk3.F90 b/src/TOP/trcstp_rk3.F90 index cdf89df57..e42148d86 100644 --- a/src/TOP/trcstp_rk3.F90 +++ b/src/TOP/trcstp_rk3.F90 @@ -161,7 +161,7 @@ CONTAINS !!---------------------------------------------------------------------- INTEGER, INTENT( in ) :: kt ! ocean time-step index ! - INTEGER :: jn ! dummy loop indices + INTEGER :: ji,jj,jn ! dummy loop indices REAL(wp) :: zkt, zrec ! local scalars CHARACTER(len=1) :: cl1 ! 1 character CHARACTER(len=2) :: cl2 ! 2 characters @@ -211,7 +211,9 @@ CONTAINS IF(lwp) WRITE(numout,*) 'trc_qsr_mean: qsr_mean set to nit000 values' rsecfst = kt * rn_Dt ! - qsr_mean(:,:) = qsr(:,:) + DO_2D( 0, 0, 0, 0 ) + qsr_mean(ji,jj) = qsr(ji,jj) + END_2D DO jn = 1, nb_rec_per_day qsr_arr(:,:,jn) = qsr_mean(:,:) END DO -- GitLab