Open philipwjones opened 1 week ago
I'm sorry for the delay in reviewing this. I wanted to test in Polaris, but needed to get https://github.com/E3SM-Project/polaris/pull/231 updated based on recent changed to Omega's develop
branch before I could test this out. That is finally done and I'm testing this.
Beautiful!!
I'm seeing:
$ ncdump -v time output.nc
netcdf output {
dimensions:
MaxCellsOnEdge = 2 ;
MaxEdges = 6 ;
NCells = 2500 ;
NEdges = 7500 ;
NTracers = 5 ;
NVertLevels = 1 ;
NVertices = 5000 ;
VertexDegree = 3 ;
time = UNLIMITED ; // (1 currently)
variables:
...
double time(time) ;
time:Description = "time" ;
time:FillValue = 0. ;
time:Name = "time" ;
time:StdName = "time" ;
time:Units = "seconds since 0001-01-01 00:00:00" ;
time:ValidMax = 1.e+20 ;
time:ValidMin = 0. ;
time:_FillValue = 0. ;
time:calendar = "noleap" ;
time:long_name = "time" ;
time:name = "time" ;
time:standard_name = "time" ;
time:units = "seconds since 0001-01-01 00:00:00" ;
time:valid_max = 1.e+20 ;
time:valid_min = 0. ;
// global attributes:
:SimulationTime = "0001-01-01_10:00:00" ;
data:
time = 36000 ;
}
This is correct: we wanted to write out data 10 hours = 36000 seconds into the simulation.
@philipwjones, my only suggestion would be that 0.
is not a safe FillValue
and _FillValue
. This should be something like -9.99e+30
used for LayerThickness
.
I the meantime, I'll be working on making the manufactured solution analysis step in Polaris work with this update.
Adds a CF-compliant unlimited time dimension
This still only supports one time slice per file. A subsequent modification will add support for multiple slices in a file.
No additional unit tests were added, but I have manually confirmed the fields and dimensions appear correctly in the output files. Additional tests will be added as part of the upcoming multi-slice capability.
Checklist