aymeric-spiga / dynamico-giant

0 stars 2 forks source link

Model compilation with 64 vertical levels #2

Closed debbardet closed 5 years ago

debbardet commented 5 years ago

I can't run the model with 64 vertical levels: There is a problem with fields modified in the restart files. This is the error message into icosa_lmdz_270.out :

0954: application called MPI_Abort(MPI_COMMWORLD, -1) - process 954 0955: > Error [CNc4DataInput::readFieldAttributes(CField* field, bool readAttributeValues)] : In file '/scratch/cnt0027/lmd1167/dbardet/dynamico-giant/code/XIOS/src/io/nc4_data_input.cpp', line 174 -> Field 'q' has incorrect dimension 0955: Verify dimension of grid defined by 'grid_ref' or 'domain_ref'/'axis_ref' and dimension of grid in read file.

I think I have to recompile the model with 64 vertical levels, but I don't find the executable file that I have to modify. Could you help me ?

aymeric-spiga commented 5 years ago

I have looked at compiling issues, and it should be OK. The spatial dimensions are dynamic in the model, so if this changes in the start files, the model should follow.

aymeric-spiga commented 5 years ago

How did you modify the fields q with your script? Just changing the vertical dimension?

debbardet commented 5 years ago

Yes, I changed the vertical dimension and I took the value of the 32nd level and I propagated it to the next 32 levels. I checked the dimension of q (without the time dimension) and I have an array of (1, 64, 252812)

aymeric-spiga commented 5 years ago

This looks good. The additional dimension is because this is the tracer array, so the 1 is for tracer type. What is the dimension of q in 32-level start files?

debbardet commented 5 years ago

In your restart file, is (1,1,32,252812). The first 1 dimension is the time dimension. It disappears in mine because with the HEAD version, the start files aren't in function of time, but at one instant (that's what Ehouarn explained to us on Friday).

debbardet commented 5 years ago

Finally, I found the solution. In the HEAD version, there are two new output fields for dissipation. In icosa.xml, I included the declaration of "output" and "dissip", just after " " like it :

<file id="output" name="output" enabled=".TRUE." output_freq="40ts" sync_freq="40ts" output_level="10" >

  <field field_ref="ulon" domain_ref="regular_two_degree" axis_ref="lev" />
  <field field_ref="ulat" domain_ref="regular_two_degree" axis_ref="lev" />
  <field field_ref="dulon_phys" domain_ref="regular_two_degree" axis_ref="lev" />
  <field field_ref="dulat_phys" domain_ref="regular_two_degree" axis_ref="lev" />
</file>

<file id="dissip" name="Xdissip" enabled=".TRUE." 
      output_freq="80ts" sync_freq="80ts" output_level="10" >
  <field field_ref="dulon_diss1" name="dulon_diss1" domain_ref="dom_out"/>
  <field field_ref="dulat_diss1" name="dulat_diss1" domain_ref="dom_out"/>
  <field field_ref="dulon_diss2" name="dulon_diss2" domain_ref="dom_out"/>
  <field field_ref="dulat_diss2" name="dulat_diss2" domain_ref="dom_out"/>
</file>

No, in fact, the model doesn't run with that

debbardet commented 5 years ago

I took attributes to variables in restart files that I modified for 64 vertical levels and my error

" 0954: application called MPI_Abort(MPI_COMMWORLD, -1) - process 954 0955: > Error [CNc4DataInput::readFieldAttributes(CField* field, bool readAttributeValues)] : In file '/scratch/cnt0027/lmd1167/dbardet/dynamico-giant/code/XIOS/src/io/nc4_data_input.cpp', line 174 -> Field 'q' has incorrect dimension 0955: Verify dimension of grid defined by 'grid_ref' or 'domain_ref'/'axis_ref' and dimension of grid in read file. " has disappeared.