| 1 | gforget | 1.1 | %date : 17/02/2005 | 
| 2 |  |  | %auteur : Gael Forget | 
| 3 |  |  | %version : beta | 
| 4 |  |  |  | 
| 5 |  |  | %domaine.m : charge les parametres principaux associes | 
| 6 |  |  | %       au domaine (spatio_temporel) | 
| 7 |  |  |  | 
| 8 |  |  | clear tmp*; | 
| 9 |  |  |  | 
| 10 |  |  | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 11 |  |  | %0.1) declaration des variables en global | 
| 12 |  |  | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 13 |  |  | domaine_global_def; | 
| 14 |  |  |  | 
| 15 |  |  | rep_domaine='/net/ross/raid0/gforget/1x1_50levels/GRID/'; | 
| 16 |  |  | %rep_domaine='/net/altix3700/raid5/gforget/exp_CTRL/exp_OFFLINE/exp1/'; | 
| 17 |  |  |  | 
| 18 |  |  | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 19 |  |  | %0.2) valeurs de reference | 
| 20 |  |  | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 21 |  |  | r0=6.37e6; %rayon terrestre | 
| 22 |  |  | deg2rad = 2*pi/360; %conversion angles | 
| 23 |  |  | gravity=9.81; %acceleration gravitationnelle | 
| 24 |  |  | %rho0=999.8; %densite de ref pour l'eau | 
| 25 |  |  | %rho0=1035; | 
| 26 |  |  | rho0=1029; | 
| 27 |  |  |  | 
| 28 |  |  | %%%%%%%%%%%%%%%%%%%%%%%%% | 
| 29 |  |  | %1) domaine géographique : | 
| 30 |  |  | %%%%%%%%%%%%%%%%%%%%%%%%% | 
| 31 |  |  | %dimensions du probleme : | 
| 32 |  |  | jpi=360; jpj=160; jpk=50; | 
| 33 |  |  |  | 
| 34 |  |  | %masks: | 
| 35 |  |  | fid=fopen([rep_domaine 'maskCtrlC.data'],'r','b'); | 
| 36 |  |  | tmask3D=fread(fid,[jpi*jpj jpk],'float32'); fclose(fid); | 
| 37 |  |  | tmask3D=reshape(tmask3D,[jpi jpj jpk]);tmask3D(find(tmask3D==0))=NaN; | 
| 38 |  |  | fid=fopen([rep_domaine 'maskCtrlW.data'],'r','b'); | 
| 39 |  |  | umask3D=fread(fid,[jpi*jpj jpk],'float32'); fclose(fid); | 
| 40 |  |  | umask3D=reshape(umask3D,[jpi jpj jpk]);umask3D(find(umask3D==0))=NaN; | 
| 41 |  |  | fid=fopen([rep_domaine 'maskCtrlS.data'],'r','b'); | 
| 42 |  |  | vmask3D=fread(fid,[jpi*jpj jpk],'float32'); fclose(fid); | 
| 43 |  |  | vmask3D=reshape(vmask3D,[jpi jpj jpk]);vmask3D(find(vmask3D==0))=NaN; | 
| 44 |  |  |  | 
| 45 |  |  | %positions: | 
| 46 |  |  | fid=fopen([rep_domaine 'XC.data'],'r','b'); | 
| 47 |  |  | lon2D_t=fread(fid,[jpi jpj],'float32'); fclose(fid); | 
| 48 |  |  | fid=fopen([rep_domaine 'YC.data'],'r','b'); | 
| 49 |  |  | lat2D_t=fread(fid,[jpi jpj],'float32'); fclose(fid); | 
| 50 |  |  | fid=fopen([rep_domaine 'XG.data'],'r','b'); | 
| 51 |  |  | lon2D_u=fread(fid,[jpi jpj],'float32'); fclose(fid); | 
| 52 |  |  | fid=fopen([rep_domaine 'YG.data'],'r','b'); | 
| 53 |  |  | lat2D_v=fread(fid,[jpi jpj],'float32'); fclose(fid); | 
| 54 |  |  |  | 
| 55 |  |  | %depths: | 
| 56 |  |  | fid=fopen([rep_domaine 'RC.data'],'r','b'); | 
| 57 |  |  | gdept=-fread(fid,jpk,'float32'); fclose(fid); | 
| 58 |  |  | fid=fopen([rep_domaine 'RF.data'],'r','b'); | 
| 59 |  |  | gdepw=-fread(fid,jpk+1,'float32'); fclose(fid); | 
| 60 |  |  |  | 
| 61 |  |  | %restriction du mask a 1 bassin : | 
| 62 |  |  | %load MASK_pac.mat; | 
| 63 |  |  | %load /data4/gforget/FIRSTdiags/various_mat/MASK_atl.mat; | 
| 64 |  |  | %load /data4/gforget/FIRSTdiags/MASK_indpac.mat; | 
| 65 |  |  | %load /data4/gforget/FIRSTdiags/MASK_south.mat; | 
| 66 |  |  | %for kcur=1:jpk; tmask3D(:,:,kcur)=squeeze(tmask3D(:,:,kcur)).*mask_boites; end; umask3D=umask3D.*tmask3D; vmask3D=vmask3D.*tmask3D; | 
| 67 |  |  |  | 
| 68 |  |  |  | 
| 69 |  |  | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 70 |  |  | %2) facteurs d'echelle : | 
| 71 |  |  | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 72 |  |  | %fid=fopen([rep_domaine 'DXG.data'],'r','b'); | 
| 73 |  |  | fid=fopen([rep_domaine 'DXC.data'],'r','b'); | 
| 74 |  |  | e1t=fread(fid,[jpi jpj],'float32'); fclose(fid); | 
| 75 |  |  | fid=fopen([rep_domaine 'DYG.data'],'r','b'); | 
| 76 |  |  | e2t=fread(fid,[jpi jpj],'float32'); fclose(fid); | 
| 77 |  |  | %fid=fopen([rep_domaine 'DXC.data'],'r','b'); | 
| 78 |  |  | fid=fopen([rep_domaine 'DXG.data'],'r','b'); | 
| 79 |  |  | e1v=fread(fid,[jpi jpj],'float32'); fclose(fid); | 
| 80 |  |  | %e2v=e2t; | 
| 81 |  |  | fid=fopen([rep_domaine 'DYC.data'],'r','b'); | 
| 82 |  |  | e2v=fread(fid,[jpi jpj],'float32'); fclose(fid); | 
| 83 |  |  | %fid=fopen([rep_domaine 'DYC.data'],'r','b'); | 
| 84 |  |  | %e2u=fread(fid,[jpi jpj],'float32'); fclose(fid); | 
| 85 |  |  | e2u=e2t; | 
| 86 |  |  | e1u=e1t; | 
| 87 |  |  |  | 
| 88 |  |  |  | 
| 89 |  |  | fid=fopen([rep_domaine 'DRF.data'],'r','b'); | 
| 90 |  |  | e3t=fread(fid,jpk,'float32'); fclose(fid); | 
| 91 |  |  | fid=fopen([rep_domaine 'DRC.data'],'r','b'); | 
| 92 |  |  | e3w=fread(fid,jpk+1,'float32'); fclose(fid); | 
| 93 |  |  |  | 
| 94 |  |  | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 95 |  |  | %3) parametres temporels : | 
| 96 |  |  | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 97 |  |  | %1) temps 0 du modele en jours julens : | 
| 98 |  |  | model_time0=jul_0h([2002 01 01 06 00 00]);  %en jours juliens | 
| 99 |  |  | %model_time0=jul_0h([1992 01 01 06 00 00]);  %en jours juliens | 
| 100 |  |  | %TEMPO% | 
| 101 |  |  | %model_time0=0; | 
| 102 |  |  | %2) pas de temps du modele : | 
| 103 |  |  | dtime=3600; | 
| 104 |  |  | %explication : ensuite pour passer d'un temps modele a une date : | 
| 105 |  |  | %date_tmp=greg_0h(model_time0+model_time/86400); | 
| 106 |  |  |  | 
| 107 |  |  |  | 
| 108 |  |  | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 109 |  |  | %4) diffusivites/viscosites | 
| 110 |  |  | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 111 |  |  |  | 
| 112 |  |  |  | 
| 113 |  |  | % Coefficient de viscosite (U,V) du modele | 
| 114 |  |  | Vh=1e4; % horizontale | 
| 115 |  |  | Vv=1e-3; % vertical | 
| 116 |  |  |  | 
| 117 |  |  | % Coefficient de diffusivite (T,S) du modele | 
| 118 |  |  | Kh=1e2; %horizontale | 
| 119 |  |  | Kv=1e-5; %verticale | 
| 120 |  |  |  | 
| 121 |  |  |  | 
| 122 |  |  |  |