78 |
|
|
79 |
rlamda = iim / (pi * colat0 / grossismx) / sqrt(- eignvl(2: iim)) |
rlamda = iim / (pi * colat0 / grossismx) / sqrt(- eignvl(2: iim)) |
80 |
call new_unit(unit) |
call new_unit(unit) |
|
open(unit, file = "inifilr_out.txt", status = "replace", action = "write") |
|
|
write(unit, fmt = *) '"EIGNVL"', eignvl |
|
|
close(unit) |
|
81 |
open(unit, file = "modfrst.csv", status = "replace", action = "write") |
open(unit, file = "modfrst.csv", status = "replace", action = "write") |
82 |
write(unit, fmt = *) '"rlat (degrees)" modfrst' ! title line |
write(unit, fmt = *) '"rlat (degrees)" modfrst' ! title line |
83 |
|
|
84 |
! D\'etermination de jfilt[ns][uv] : |
! D\'etermination de jfilt[ns][uv] : |
85 |
|
|
86 |
j1 = jjm + 1 - ifirstloc(rlatu(jjm:1:- 1) >= 0.) |
j1 = ifirstloc(rlatu <= 0.) |
87 |
|
|
88 |
call inifilr_hemisph(rlatu(j1:2:- 1), colat0, rlamda, unit, eignfnv, & |
call inifilr_hemisph(rlatu(j1 - 1:2:- 1), colat0, rlamda, unit, eignfnv, & |
89 |
jfiltnu, matriceun, matrinvn) |
jfiltnu, matriceun, matrinvn) |
90 |
jfiltnu = j1 + 1 - jfiltnu |
jfiltnu = j1 - jfiltnu |
91 |
matriceun = matriceun(:, :, jfiltnu - 1:1:- 1) |
matriceun = matriceun(:, :, jfiltnu - 1:1:- 1) |
92 |
matrinvn = matrinvn(:, :, jfiltnu - 1:1:- 1) |
matrinvn = matrinvn(:, :, jfiltnu - 1:1:- 1) |
93 |
|
|
94 |
call inifilr_hemisph(- rlatu(j1 + 1:jjm), colat0, rlamda, unit, eignfnv, & |
call inifilr_hemisph(- rlatu(j1:jjm), colat0, rlamda, unit, eignfnv, & |
95 |
jfiltsu, matriceus, matrinvs) |
jfiltsu, matriceus, matrinvs) |
96 |
jfiltsu = j1 + jfiltsu |
jfiltsu = j1 - 1 + jfiltsu |
97 |
|
|
98 |
j1 = jjm + 1 - ifirstloc(rlatv(jjm:1:- 1) >= 0.) |
j1 = ifirstloc(rlatv <= 0.) |
99 |
|
|
100 |
call inifilr_hemisph(rlatv(j1:1:- 1), colat0, rlamda, unit, eignfnu, & |
call inifilr_hemisph(rlatv(j1 - 1:1:- 1), colat0, rlamda, unit, eignfnu, & |
101 |
jfiltnv, matricevn) |
jfiltnv, matricevn) |
102 |
jfiltnv = j1 + 1 - jfiltnv |
jfiltnv = j1 - jfiltnv |
103 |
matricevn = matricevn(:, :, jfiltnv:1:- 1) |
matricevn = matricevn(:, :, jfiltnv:1:- 1) |
104 |
|
|
105 |
call inifilr_hemisph(- rlatv(j1 + 1:jjm), colat0, rlamda, unit, eignfnu, & |
call inifilr_hemisph(- rlatv(j1:jjm), colat0, rlamda, unit, eignfnu, & |
106 |
jfiltsv, matricevs) |
jfiltsv, matricevs) |
107 |
jfiltsv = j1 + jfiltsv |
jfiltsv = j1 - 1 + jfiltsv |
108 |
|
|
109 |
close(unit) |
close(unit) |
110 |
PRINT *, 'jfiltnu =', jfiltnu |
PRINT *, 'jfiltnu =', jfiltnu |