Opened 2 years ago

Last modified 5 weeks ago

#672 accepted defect

error in writing snowage with ORCHIDEE trunk revision 6519

Reported by: stafasca Owned by: jgipsl
Priority: minor Milestone: Not scheduled yet
Component: Driver files Version: trunc
Keywords: Cc:

Description

When running ORCHIDEE offline with GSWP3_v1 on jean-zay, I have an error in writing the variable snowage, on the year 1963 (repeated error for several tests starting on 1960, with 32 and 64 procs, and either one or two procs for XIOS).

Error message:

Error [CNc4DataOutput::writeFieldData_ (CField* field)] : In file '/gpfswork/rech/lmd/rcps009/ORCHIDEE_10022020/modipsl/modeles/XIOS/src/io/nc4_data_output.cpp', line 2676 -> On writing field data: snowage

In the context : orchidee_server
Error when calling function ncPutVaraType(ncid, varId, start, count, data)
NetCDF: Numeric conversion not representable
Unable to write data given the location id: 65536 and the variable whose id: 83 and name: snowage
Abort(-1) on node 63 (rank 63 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, -1) - process 63
srun: Job step aborted: Waiting up to 62 seconds for job step to finish.
slurmstepd: error: * STEP 773956.0 ON r1i1n8 CANCELLED AT 2020-02-10T12:51:07 *

I got the simulations running well when I removed this variable from the output file.

Change History (4)

comment:1 Changed 2 years ago by stafasca

  • Summary changed from error in writing snowage with revision 6519 to error in writing snowage with ORCHIDEE trunk revision 6519
  • Version set to trunc

comment:2 Changed 2 years ago by jgipsl

The error is due to negative snowfall in the forcing file.

The forcing file IGCM/SRF/METEO/GSWP3/v1_halfdeg/GSWP3_v1_halfdeg_3h_1963.nc contains negative values for SNOWF for L=720 (1st of April).

In explicitsnow_main, following section gives then a floating overflow:

IF (snow(ji) .LE. zero) THEN
     snow_age(ji) = zero
ELSE
     snow_age(ji) =(snow_age(ji) + (un - snow_age(ji)/max_snow_age) * dt_sechiba/one_day) &
          & * EXP(-precip_snow(ji) / snow_trans)
ENDIF

when ji=744, on proc=25 using 63MPI in total (lon, lat=??)
snow(ji)=0.583010534761298
precip_snow(ji)=-268.820589780807
snow_trans=0.2 (parameter)

=> EXP(-precip_snow(ji) / snow_trans) explodes   
=> snow_age explodes  => XIOS fail to write the variable snow_age

comment:3 Changed 9 months ago by jgipsl

  • Owner changed from somebody to jgipsl
  • Status changed from new to accepted

comment:4 Changed 5 weeks ago by nvuilsce

  • Component changed from Physical processes to Driver files
  • Milestone changed from ORCHIDEE 3.0 to Not scheduled yet
Note: See TracTickets for help on using tickets.