diff --git a/src/multiom/encoders/dictionaries/parametrization/data_representation_par_mod.F90 b/src/multiom/encoders/dictionaries/parametrization/data_representation_par_mod.F90 index adfa4e65c..e34fef537 100644 --- a/src/multiom/encoders/dictionaries/parametrization/data_representation_par_mod.F90 +++ b/src/multiom/encoders/dictionaries/parametrization/data_representation_par_mod.F90 @@ -23,7 +23,7 @@ MODULE DATA_REPRESENTATION_PAR_MOD !> DATA_REPRESENTATION information I am not able to fit into mars message TYPE :: DATA_REPRESENTATION_PAR_T INTEGER(KIND=JPIB_K) :: BITS_PER_VALUE_= 16_JPIB_K - REAL(KIND=JPRD_K) :: LAPLACIAN_SCALE_FACTOR_ = 0.5_JPRD_K + REAL(KIND=JPRD_K) :: LAPLACIAN_OPERATOR_ = 0.5_JPRD_K CONTAINS PROCEDURE, NON_OVERRIDABLE, PUBLIC, PASS :: INIT => DATA_REPRESENTATION_PAR_INIT PROCEDURE, NON_OVERRIDABLE, PUBLIC, PASS :: COPY_FROM => DATA_REPRESENTATION_PAR_COPY_FROM @@ -82,7 +82,7 @@ PP_THREAD_SAFE FUNCTION DATA_REPRESENTATION_PAR_INIT( DATA_REPRESENTATION_PAR, H ! Copy the data DATA_REPRESENTATION_PAR%BITS_PER_VALUE_ = UNDEF_PARAM_E - DATA_REPRESENTATION_PAR%LAPLACIAN_SCALE_FACTOR_ = 0.5_JPRD_K + DATA_REPRESENTATION_PAR%LAPLACIAN_OPERATOR_ = 0.5_JPRD_K ! Trace end of procedure (on success) PP_TRACE_EXIT_PROCEDURE_ON_SUCCESS() @@ -172,7 +172,7 @@ PP_THREAD_SAFE FUNCTION DATA_REPRESENTATION_PAR_FREE( DATA_REPRESENTATION_PAR, H ! Copy the data DATA_REPRESENTATION_PAR%BITS_PER_VALUE_ = UNDEF_PARAM_E - DATA_REPRESENTATION_PAR%LAPLACIAN_SCALE_FACTOR_ = 0.5_JPRD_K + DATA_REPRESENTATION_PAR%LAPLACIAN_OPERATOR_ = 0.5_JPRD_K ! Trace end of procedure (on success) PP_TRACE_EXIT_PROCEDURE_ON_SUCCESS() @@ -263,7 +263,7 @@ PP_THREAD_SAFE FUNCTION DATA_REPRESENTATION_PAR_COPY_FROM( DATA_REPRESENTATION_P ! Copy the data DATA_REPRESENTATION_PAR_TO%BITS_PER_VALUE_ = DATA_REPRESENTATION_PAR_FROM%BITS_PER_VALUE_ - DATA_REPRESENTATION_PAR_TO%LAPLACIAN_SCALE_FACTOR_ = DATA_REPRESENTATION_PAR_FROM%LAPLACIAN_SCALE_FACTOR_ + DATA_REPRESENTATION_PAR_TO%LAPLACIAN_OPERATOR_ = DATA_REPRESENTATION_PAR_FROM%LAPLACIAN_OPERATOR_ ! Trace end of procedure (on success) PP_TRACE_EXIT_PROCEDURE_ON_SUCCESS() @@ -389,10 +389,10 @@ PP_THREAD_SAFE FUNCTION READ_DATA_REPRESENTATION_PAR_FROM_YAML( DATA_REPRESENTAT DATA_REPRESENTATION_PAR%BITS_PER_VALUE_ = 16_JPIB_K END IF - !> Read the "laplacian scale factor" - PP_TRYCALL(ERRFLAG_UNABLE_TO_READ_CFG) YAML_CONFIGURATION_HAS_KEY( DATA_REPRESENTATION_CONFIGURATION, 'laplacian-scale-factor', HAS_KEY, HOOKS ) + !> Read the "laplacian operator" + PP_TRYCALL(ERRFLAG_UNABLE_TO_READ_CFG) YAML_CONFIGURATION_HAS_KEY( DATA_REPRESENTATION_CONFIGURATION, 'laplacian-operator', HAS_KEY, HOOKS ) IF ( HAS_KEY ) THEN - PP_TRYCALL(ERRFLAG_UNABLE_TO_READ_CFG) YAML_READ_FLOAT( DATA_REPRESENTATION_CONFIGURATION, 'laplacian-scale-factor', DATA_REPRESENTATION_PAR%LAPLACIAN_SCALE_FACTOR_, HOOKS ) + PP_TRYCALL(ERRFLAG_UNABLE_TO_READ_CFG) YAML_READ_FLOAT( DATA_REPRESENTATION_CONFIGURATION, 'laplacian-operator', DATA_REPRESENTATION_PAR%LAPLACIAN_OPERATOR_, HOOKS ) ELSE DATA_REPRESENTATION_PAR%BITS_PER_VALUE_ = 0.5_JPRD_K END IF @@ -535,10 +535,10 @@ PP_THREAD_SAFE FUNCTION WRITE_DATA_REPRESENTATION_PAR_TO_YAML( DATA_REPRESENTATI ! convert integer to string CTMP = REPEAT(' ', MAX_STR_LEN) - PP_TRYCALL(ERRFLAG_UNABLE_TO_CONVERT_TO_STRING) TO_STRING( DATA_REPRESENTATION_PAR%LAPLACIAN_SCALE_FACTOR_, CTMP, HOOKS ) + PP_TRYCALL(ERRFLAG_UNABLE_TO_CONVERT_TO_STRING) TO_STRING( DATA_REPRESENTATION_PAR%LAPLACIAN_OPERATOR_, CTMP, HOOKS ) ! Write to the unit - WRITE( UNIT, '(A,A,A)', IOSTAT=WRITE_STAT ) REPEAT(' ', OFFSET+2), 'laplacian-scale-factor: ', TRIM(ADJUSTL(CTMP)) + WRITE( UNIT, '(A,A,A)', IOSTAT=WRITE_STAT ) REPEAT(' ', OFFSET+2), 'laplacian-operator: ', TRIM(ADJUSTL(CTMP)) PP_DEBUG_CRITICAL_COND_THROW( WRITE_STAT.NE.0, ERRFLAG_WRITE_ERROR ) ! Add an empty line diff --git a/src/multiom/ifs2mars/ifs2mars/ifs2mars_mod.F90 b/src/multiom/ifs2mars/ifs2mars/ifs2mars_mod.F90 index a6148a790..cf7e692f1 100644 --- a/src/multiom/ifs2mars/ifs2mars/ifs2mars_mod.F90 +++ b/src/multiom/ifs2mars/ifs2mars/ifs2mars_mod.F90 @@ -103,7 +103,7 @@ PP_THREAD_SAFE FUNCTION WAM2MARS_IS_WAVE_SPECTRA( IFS_MSG, IFS_PAR, IS_WAVE_SPEC INTEGER(KIND=JPIB_K) :: RET ! Local variables - LOGICAL, DIMENSION(4) :: CONDITIONS + LOGICAL, DIMENSION(2) :: CONDITIONS ! Local variables declared by the preprocessor for debugging purposes PP_DEBUG_DECL_VARS @@ -3428,7 +3428,7 @@ PP_THREAD_SAFE FUNCTION IFS2MARS_SET_GEOMETRY( IFS_MSG, IFS_PAR, REPRES_NAME, & MSG%TRUNCATION = IFS_PAR%GEO_%ISMAX PAR%GEOMETRY%TO_BE_DEALLOCATED = .FALSE. PAR%GEOMETRY%REPRES => REPRESENTATION - PAR%DATA_REPRESENTATION%LAPLACIAN_SCALE_FACTOR_ = IFS_MSG%ZP_ + PAR%DATA_REPRESENTATION%LAPLACIAN_OPERATOR_ = IFS_MSG%ZP_ ELSE PP_DEBUG_CRITICAL_THROW( ERRFLAG_UNSUPPORTED_REPRESENTATION ) ENDIF diff --git a/src/multiom/ifs2mars/output-manager/multio_utils_mod.F90 b/src/multiom/ifs2mars/output-manager/multio_utils_mod.F90 index 4d037f68d..81c72b730 100644 --- a/src/multiom/ifs2mars/output-manager/multio_utils_mod.F90 +++ b/src/multiom/ifs2mars/output-manager/multio_utils_mod.F90 @@ -1446,10 +1446,10 @@ PP_THREAD_SAFE FUNCTION MULTIO_FILL_MARS_METADATA( MARS, PAR, MIOMD, HOOKS ) RES PP_DEBUG_CRITICAL_COND_THROW(ERR.NE.MULTIO_SUCCESS, ERRFLAG_UNABLE_TO_WRITE_MULTIO_METADATA) ENDIF - ! Handle "laplacianScaleFactor" - IF ( PAR%DATA_REPRESENTATION%LAPLACIAN_SCALE_FACTOR_ .NE. UNDEF_PARAM_E ) THEN - IF ( PAR%DATA_REPRESENTATION%LAPLACIAN_SCALE_FACTOR_ .GT. 0 ) THEN - ERR = MIOMD%SET( 'misc-laplacianScaleFactor', PAR%DATA_REPRESENTATION%LAPLACIAN_SCALE_FACTOR_ ) + ! Handle "laplacianOperator" + IF ( PAR%DATA_REPRESENTATION%LAPLACIAN_OPERATOR_ .NE. UNDEF_PARAM_E ) THEN + IF ( PAR%DATA_REPRESENTATION%LAPLACIAN_OPERATOR_ .GT. 0 ) THEN + ERR = MIOMD%SET( 'misc-laplacianOperator', PAR%DATA_REPRESENTATION%LAPLACIAN_OPERATOR_ ) PP_DEBUG_CRITICAL_COND_THROW(ERR.NE.MULTIO_SUCCESS, ERRFLAG_UNABLE_TO_WRITE_MULTIO_METADATA) ENDIF ENDIF