-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
use Atlas structures with an IFS-like variable batching #60
Conversation
…ing on FieldSet for other datatype/dimension/level_number variables; using Field lookup by name
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks and apologies for the review latency. This looks great!
I also like the introduction of atlas_trace.
I've flagged a few places with commented code leftovers, which should be removed.
Second request is to add a brief (!) description to the README (just an entry under "prototypes available").
@@ -61,7 +61,7 @@ projects : | |||
|
|||
- atlas : | |||
git : https://github.com/ecmwf/atlas | |||
version : 0.34.0 | |||
version : feature/MultiField |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just out of curiosity: Is there a timeline for including this feature in a release?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Willem is going to include the feature in the release very soon.
! CALL FSET%UPDATE_DEVICE(1,IBLK) | ||
! field = fset%field(1) | ||
! call field%update_device() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Debug leftover?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. The lines are removed.
OUT_MFIELD_CONFIG(IVAR) = ATLAS_CONFIG() | ||
CALL OUT_MFIELD_CONFIG(IVAR)%SET("name", TRIM(OUT_VAR_NAMES(IVAR))) | ||
CALL OUT_MFIELD_CONFIG(IVAR)%SET("levels", SELF%KLEV+1) | ||
! CALL FSET%ADD(FSPACE%CREATE_FIELD(NAME=TRIM(OUT_VAR_NAMES(IVAR)), KIND=ATLAS_REAL(JPRB))) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
debug leftover?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. The lines is removed.
NPROMA = FIELD%SHAPE(1) | ||
|
||
ZMINVAL(1) = +HUGE(ZMINVAL(1)) | ||
ZMAX_VAL_ERR(1) = -HUGE(ZMAX_VAL_ERR(1)) | ||
ZMAX_VAL_ERR(2) = 0.0_JPRB | ||
ZSUM_ERR_ABS(:) = 0.0_JPRB | ||
|
||
!CALL INPUT_INITIALIZE(NAME='reference') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Debug leftover?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. The line is removed.
@@ -160,6 +160,7 @@ SUBROUTINE VALIDATEVAR_ATLAS(FSET, NAME, NLON, NGPTOTG, STATE_VAR) | |||
PRINT *, "FIELD RANK NOT SUPPORTED" | |||
CALL EXIT(1) | |||
ENDIF | |||
!CALL INPUT_FINALIZE() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Debug leftover?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
True. I have removed the line.
LMULTIFIELD = .TRUE. | ||
CALL GET_ENVIRONMENT_VARIABLE("CLOUDSC_ATLAS_MULTIFIELD",CENV,CENV_LEN) | ||
IF (CENV_LEN > 0 ) THEN | ||
IF( TRIM(CENV) == "0" .OR. TRIM(CENV) == "OFF" .OR. TRIM(CENV) == "FALSE" ) THEN | ||
LMULTIFIELD = .FALSE. | ||
ENDIF | ||
ENDIF |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just noticed that we don't have a description of this variant in the README. Could you add just 2-3 sentences that explain what this variant is (e.g., "uses Atlas as storage backend for field data") and that two choices for the backend exist Multifield/FieldSet, which can be switched using that environment variable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point! Added 2-3 sentences to README. Thanks for the review!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Many thanks for making these changes! Good to go!
Using Atlas structures in CLOUDSC via configuration flag "--with-atlas"