#2513 closed Bug (fixed)
wrong oasis partition indexes with halos in cpl_define routine
Reported by: | gsamson | Owned by: | gsamson |
---|---|---|---|
Priority: | low | Milestone: | |
Component: | SBC | Version: | trunk |
Severity: | minor | Keywords: | OASIS, SAS, SBC |
Cc: | smasson |
Description
Context
Oasis partition definition in cpl_define routine needs to be updated to handle halos correctly
Analysis
When trying to use SAS in coupled mode with OASIS, OASIS complains because of dimensions mismatch between grids definition and restart file dimensions. This is because "paral" values (NEMO lower left corner global offset, global extent in x and domain size) are not correctly defined to handle correctly halos.
Fix
After discussion with Seb, he proposes to replace:
- paral(2) = jpiglo * (Njs0-1+njmpp-1) + (Nis0-1+nimpp-1) with:
- paral(2) = Ni0glo * mjg0(nn_hls) + mig0(nn_hls)
- or (equivalent formulation): paral(2) = Ni0glo * (mjg0(Njs0)-1) + (mig0(Nis0)-1)
- paral(5) = jpiglo with: paral(5) = Ni0glo
- CALL oasis_def_partition ( id_part, paral, nerror, jpiglo*jpjglo ) with:
- CALL oasis_def_partition ( id_part, paral, nerror, Ni0glo*Nj0glo )
SAS+OASIS runs successfully with these modifications and halos sizes of 1 or 2
Commit History (3)
Changeset | Author | Time | ChangeLog |
---|---|---|---|
13415 | smasson | 2020-08-20T11:38:28+02:00 | |
13414 | smasson | 2020-08-19T11:11:15+02:00 | trunk: add comments in cpl_oasis3 following [13413], see #2513 |
13413 | gsamson | 2020-08-19T10:57:01+02:00 | oasis partition definition update; see ticket #2513 |
Change History (5)
comment:1 Changed 4 years ago by gsamson
comment:2 Changed 4 years ago by smasson
In 13414:
comment:3 Changed 4 years ago by gsamson
For the record, there is a bug in OASIS3-MCT v4.0 (rev 4ed658b) when using land proc suppression which is detailed here and not yet corrected:
https://portal.enes.org/oasis/faq-forum/oasis3-forum/debug/557438564
The following lines in "lib/mct/mct/m_AttrVectComms.F90" must be commented to get nemo working properly with oasis:
+ !if(GlobalSegMap_haloed(GSMap)) then
+ ! ierr = 1
+ ! call die(myname_,"Input GlobalSegMap? haloed--not allowed",ierr)
+ !endif
comment:4 Changed 4 years ago by gsamson
- Resolution set to fixed
- Status changed from new to closed
comment:5 Changed 4 years ago by smasson
In 13415:
In 13413: