diff --git a/src/MNH/contrav.f90 b/src/MNH/contrav.f90 index 50e81468802efef8d210ae1736c96011e3bbbede..c890435f523160d94c0da938e847bf36c21b1da6 100644 --- a/src/MNH/contrav.f90 +++ b/src/MNH/contrav.f90 @@ -201,8 +201,20 @@ END IF ! ------------------------------------ ! IF (LFLAT) THEN - PRWCT(:,:,:) = PRWT(:,:,:) / PDZZ(:,:,:) - RETURN + ! + PRWCT(:,:,:) = PRWT(:,:,:) / PDZZ(:,:,:) + ! + IF (KADV_ORDER == 4 ) THEN + NULLIFY(TZFIELD_U) + NULLIFY(TZFIELD_V) + CALL ADD3DFIELD_ll( TZFIELD_U, PRUCT, 'CONTRAV::PRUCT' ) + CALL ADD3DFIELD_ll( TZFIELD_V, PRVCT, 'CONTRAV::PRVCT' ) + CALL UPDATE_HALO_ll(TZFIELD_U,IINFO_ll) + CALL UPDATE_HALO_ll(TZFIELD_V,IINFO_ll) + ENDIF + ! + RETURN + ! END IF ! !* 3. Compute the vertical contravariant components (general case) diff --git a/src/MNH/initial_guess.f90 b/src/MNH/initial_guess.f90 index 004d6be13168a80d05113e16940d8d9283283f72..cba1058bc1b554620e674215843be01b2218f9ae 100644 --- a/src/MNH/initial_guess.f90 +++ b/src/MNH/initial_guess.f90 @@ -153,6 +153,7 @@ use modd_budget, only: lbudget_u, lbudget_v, lbudget_w, lbudget_th, lbudg NBUDGET_RR, NBUDGET_RI, NBUDGET_RS, NBUDGET_RG, NBUDGET_RH, NBUDGET_SV1, & lbu_beg, lbu_enable, tbudgets USE MODD_CONF +use modd_conf_n, only: luserv USE MODD_GRID_n use mode_budget, only: Budget_store_init, Budget_store_end @@ -213,11 +214,14 @@ IF (SIZE(PTKET,1) /= 0) THEN PRTKES(:,:,:) = PTKET(:,:,:) * ZINVTSTEP * PRHODJ(:,:,:) END IF ! -! Case with KRR moist variables -DO JRR=1,KRR - PRRS(:,:,:,JRR) = PRT(:,:,:,JRR) * ZINVTSTEP * PRHODJ(:,:,:) -END DO -CALL MPPDB_CHECK3DM("initial_guess:PRRS/RT/RHO",PRECISION,PRRS(:,:,:,1) , PRT(:,:,:,1) , PRHODJ) +! Case with KRR moist variables +! +IF (LUSERV) THEN + DO JRR=1,KRR + PRRS(:,:,:,JRR) = PRT(:,:,:,JRR) * ZINVTSTEP * PRHODJ(:,:,:) + END DO + CALL MPPDB_CHECK3DM("initial_guess:PRRS/RT/RHO",PRECISION,PRRS(:,:,:,1) , PRT(:,:,:,1) , PRHODJ) +ENDIF ! ! *** passive tracers !