Parent Directory | Revision Log
Sticky Revision: |
In inifilr_hemisph, colat0 is necessarily >= 1. / rlamda(iim) (see notes) so we simplify the definition of jfilt. No need to keep modfrst values at other latitudes than the current one, and we can have one loop on latitudes instead of two. Just encapsulated transp into a module.
In order to be able to choose finer resolutions, set large memory model in compiler options and use dynamic libraries. Variables rlatd, rlond, cuphy and cvphy of module comgeomphy were never used. (In LMDZ, they are used only for Orchid.) There is a bug in PGI Fortran 13.10 that does not accept the combination of forall, pack and spread in regr_pr_av and regr_pr_int. In order to circumvent this bug, created the function gr_dyn_phy. In program test_inifilr, use a single latitude coordinate for north and south.
This revision changes results.
Procedure filtreg_hemisph is always called with sdd2 = 1 / sdd1. It would not make sense otherwise. I do not like that this does not appear explicitly in filtreg_hemisph. So replaced the two arguments sdd1 and sdd2 by a single argument sdd. The cost is computing a division instead of multplication for every 3-dimensional position. Besides, this changes the results.
Clarified the logic in filtreg by creating a procedure filtreg_hemisph. It was terrible with a loop on hemispheres and tests on hemisphere inside the loop, plus maddening indirections on latitude bounds, plus repeated code. Went from 126 lines to much clearer 74 + 32 = 106 lines. In module inifilr_m, finally made the arrays matrice[uv][ns], matrinv[ns] dynamic (following LMDZ). Changed the lower bound of matriceun and matrinvn in the 3rd dimension: 2 instead of 1, the index 1 was not defined (nor used). In module inifilr_m, changed the bounds of matriceus and matrinvs in the 3rd dimension: jfiltsu:jjm instead of 1:jjm - jfiltsu + 1. Changed the bounds of matricevs in the 3rd dimension: jfiltsv:jjm instead of 1:jjm - jfiltsv + 1. It is a little simpler and clearer this way in procedure inifilr.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
ViewVC Help | |
Powered by ViewVC 1.1.21 |