Parent Directory | Revision Log
Sticky Revision: |
Remove module temps. Move variable itau_dyn from module temps to module dynetat0_m, where it is defined. Split module dynetat0_m into dynetat0_m and dynetat0_chosen_m. The motivation is to create smaller modules. Procedures principal_cshift and invert_zoomx had to stay in dynetat0_m because of circular dependency. Now we will be able to move them away. Module variables which are chosen by the user, not computed, in program ce0l go to dynetat0_chosen_m: day_ref, annee_ref, clon, clat, grossismx, grossismy, dzoomx, dzoomy, taux, tauy. Move variable "pa" from module disvert_m to module dynetat0_chosen_m. Define "pa" in dynetat0_chosen rather than etat0. Define day_ref and annee_ref in procedure read_serre rather than etat0.
Move fxhyp and fyhyp to module dynetat0_m to avoid side effect on variables of module dynetat0_m. A downside is that we need to link heavyside, coefpoly and tanh_cautious into the gcm and test_fxhyp executables. We must move invert_zoom_x and principal_cshift to module dynetat0_m to avoid circular dependency. Move definition of rlatu(1) and rlatu(jjm + 1) inside fyhyp to avoid side effect on rlatu.
Move procedure read_serre from module read_serre_m to module dynetat0_m, to avoid side effet on variables of module dynetat0_m. Create procedure set_unit_nml to avoid side effect on variable of module unit_nml_m. Downgrade pctsrf from variable of module etat0_m to argument of etat0 and limit to avoid side effect on pctsrf. Move variable zmasq from module dimphy to module phyetat0_m to avoid side effect on zmasq.
Rename module dimens_m to dimensions.
Move Sources/* to root directory.
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.
Added program test_inifilr. Encapsulated ppm3d into a module and added implicit none. Removed unused argument dum. Encountered a problem in procedure invert_zoom_x. With grossismx=2.9, DZOOMX=0.3, taux=5, for xuv = -0.25, for i = 1, rtsafe fails because fval is about 1e-16 instead of 0 at xval = pi. So distinguished the cases abs_y = 0 or pi. Needed then to add argument beta to invert_zoom_x. Moved the output of eignvalues of differentiation matrix from inifilr to inifgn, where they are computed. Simpler definition of j1 in 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 |