#741 closed Enhancement (fixed)
lim_dia works in MPP
Reported by: | vancop | Owned by: | nemo |
---|---|---|---|
Priority: | low | Milestone: | |
Component: | LIM3 | Version: | v3.1 |
Severity: | Keywords: | LIM* v3.1 | |
Cc: |
Description
The lim_dia routine used in lln and the evolu files did not work in mpp. Here we added a few lines in the code to allow to have one evolu file per processor
best wishes,
Martin
Commit History (6)
Changeset | Author | Time | ChangeLog |
---|---|---|---|
9287 | anaguiar | 2018-01-30T12:47:33+01:00 | ticket GMED#372,NEMO#741: Branch that enables varying weight of snow precipitation forcing over sea ice |
9233 | anaguiar | 2018-01-15T15:39:14+01:00 | |
2472 | cetlod | 2010-12-13T15:15:02+01:00 | v3.2:correct limdia.F90 routine to work in MPP, see ticket #741 |
2439 | gm | 2010-11-27T11:26:06+01:00 | v3.3beta: #741 correct 2 small bugs in ice.evolu diag calculation |
2313 | rblod | 2010-10-25T17:19:12+02:00 | Add lim_dia changes for mpp on the 3.3 beta (LIM3 only), see ticket #741 |
2310 | rblod | 2010-10-25T16:52:59+02:00 | Add lim_dia changes for mpp on the trunk (LIM3 only), see ticket #741 |
Attachments (1)
Change History (8)
Changed 14 years ago by vancop
comment:1 Changed 14 years ago by gm
The attached routine does not compile with the trunk version of the code. It corresponds to a 3.2 environment...
- The ctlopn routine is in fact ctl_opn.
- Its optional argument for the index of the processor is the last one, and a logical print argument now exist.
- the ice_oce.F90 module does not exist anymore
Therefore, the "USE ice_oce" should be suppressed and the lines 586-587:
CALL ctlopn( numevo_ice, clname, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', & & irecl, numout, narea, 1 )
should be replaced by:
CALL ctl_opn( numevo_ice, clname, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', & & irecl, numout, lwp, narea )
In addition, there is a small bug in the computation of northern (southern) hemisphere sum. the "tms" ice-mask at t-point is used, not the "tmask_i". Therefore, duplicated lines due to North fold and east-west boundary conditions, as well as exchanged halos in mpp are taken into account twice ! Simply change line 474:
aire(:,:) = area(:,:) * tms(:,:)
into
aire(:,:) = area(:,:) * tmask_i(:,:)
solves the problem. The results will changed to more accurate values !
Last, all the division by 1.e12 have been replaced by a multiplication by 1.e-12, which is much faster when the compiler is not that smart. By the way, this unit change could be done on the cumulated value (vinfor) instead of on each grid point during the summation ==> significant reduction of the number of operations (currently not done)
All the above changes, including the creation of 1 ice.evolu file by processor as you have suggested, has been done in v3.3beta. set changeset:2439
Remains to be done in the trunk (consolidation of v3.2) before closing the ticket
comment:2 Changed 14 years ago by cetlod
- Resolution set to fixed
- Status changed from new to closed
Done in v3.2 for consolidation, see changeset:2472
comment:3 Changed 7 years ago by nemo
- Keywords LIM* added
comment:4 Changed 7 years ago by anaguiar
In 9233:
comment:5 Changed 7 years ago by anaguiar
In 9287:
comment:6 Changed 3 years ago by nemo
- Keywords r3.1 added
comment:7 Changed 3 years ago by nemo
- Keywords v3.1 added; r3.1 removed
modified routine