From 4c62aaa7afe2b874cc99462d3e50e6d671aa85a8 Mon Sep 17 00:00:00 2001 From: Juan Escobar <juan.escobar@aero.obs-mip.fr> Date: Mon, 2 May 2016 13:35:44 +0000 Subject: [PATCH] Juan 29/04/2016 : bug in use of ZSVT_C in SET_LSFIELD_1WAY_ll --- src/MNH/spawn_field2.f90 | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/MNH/spawn_field2.f90 b/src/MNH/spawn_field2.f90 index 4ab08435f..a0586ac5c 100644 --- a/src/MNH/spawn_field2.f90 +++ b/src/MNH/spawn_field2.f90 @@ -144,6 +144,7 @@ END MODULE MODI_SPAWN_FIELD2 !! Modification 01/15 (C. Barthe) add LNOx !! Modification 25/02/2015 (M.Moge) correction of the parallelization attempted by M.Faivre !! Modification 15/04/2016 (P.Tulet) bug allocation ZSVT_C +!! 29/04/2016 (J.Escobar) bug in use of ZSVT_C in SET_LSFIELD_1WAY_ll !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -276,6 +277,7 @@ CHARACTER (LEN=2) :: YDIR ! IMI = GET_CURRENT_MODEL_INDEX() CALL GOTO_MODEL(2) +CALL GO_TOMODEL_ll(2, IINFO_ll) ! !* 1.0 recovers logical unit number of output listing ! @@ -501,9 +503,6 @@ ELSE IF (CONF_MODEL(1)%NRR>=1) THEN CALL SET_LSFIELD_1WAY_ll(FIELD_MODEL(1)%XRT(:,:,JI,KI),ZRT_C(:,:,JI,KI),2) ENDIF - IF (NSV>=1) THEN - CALL SET_LSFIELD_1WAY_ll(FIELD_MODEL(1)%XSVT(:,:,JI,KI),ZSVT_C(:,:,JI,KI),2) - ENDIF IF ( L2D_ADV_FRC ) THEN CALL SET_LSFIELD_1WAY_ll(ADVFRC_MODEL(1)%XDTHFRC(:,:,JI,KI),ZDTHFRC_C(:,:,JI,KI),2) CALL SET_LSFIELD_1WAY_ll(ADVFRC_MODEL(1)%XDRVFRC(:,:,JI,KI),ZDRVFRC_C(:,:,JI,KI),2) @@ -520,6 +519,22 @@ ELSE ! ENDDO ENDDO + !$***** 4D NSV + IF (NSV>=1) THEN + DO JI=1,SIZE(PUT,3) + DO KI=1,NSV + CALL GOTO_MODEL(1) + CALL GO_TOMODEL_ll(1, IINFO_ll) + CALL SET_LSFIELD_1WAY_ll(FIELD_MODEL(1)%XSVT(:,:,JI,KI),ZSVT_C(:,:,JI,KI),2) + CALL LS_FORCING_ll(2, IINFO_ll, .TRUE.) + CALL GO_TOMODEL_ll(2, IINFO_ll) + CALL GOTO_MODEL(2) + CALL UNSET_LSFIELD_1WAY_ll() + ! + ENDDO + ENDDO + ENDIF + !if the child grid is the whole father grid, we first need to extrapolate !the data on a "pseudo halo" before doing BIKHARDT interpolation ! -------> done in LS_FORCING_ll @@ -919,6 +934,7 @@ END IF !------------------------------------------------------------------------------- ! CALL GOTO_MODEL(IMI) +CALL GO_TOMODEL_ll(IMI, IINFO_ll) CONTAINS ! SUBROUTINE COMPUTE_THV_HU(OUSERV,PR,PTH,PPABS,PTHV,PHU) -- GitLab