Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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()
Expand Down Expand Up @@ -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()
Expand Down Expand Up @@ -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()
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions src/multiom/ifs2mars/ifs2mars/ifs2mars_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
8 changes: 4 additions & 4 deletions src/multiom/ifs2mars/output-manager/multio_utils_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading