Legend:
- Unmodified
- Added
- Removed
-
trunk/src/Makefile
r70 r71 2 2 #GENOPT= -E 3 3 GENOPT=-DOPTIMORDER -E 4 YAOPT= - p -x sinobad4 YAOPT= -n -p -x sinobad 5 5 6 6 essai: essai.d ../object/ncutil.o -
trunk/src/sinobad.d
r70 r71 1 1 //defval K_NEU 2 2 //#define FZIMP 3 #define FILTER4 #define FILZNOL3 //#define FILTER 4 //#define FILZNOL 5 5 //#define FILLNOZ 6 6 //#define SOLSORYAO … … 19 19 defval NZ 31 20 20 defval NMAX 800 // ! maximum of iterations for the SOR solver 21 defval TA 50|__DATE__ | number of time steps21 defval TA 101 |__DATE__ | number of time steps 22 22 defval TU 2 | start time step 23 23 #ifdef FILTER … … 54 54 //#OPTION ----------------------------------------------OPTION 55 55 56 option O_M1QN3 | M2QN1 56 //#option O_M1QN3 | M2QN1 57 option O_M1QN3 57 58 //#option O_VARINCR 58 option O_GRADTEST59 option O_DBG_NANF59 //#option O_GRADTEST 60 //#option O_DBG_NANF 60 61 //#option O_DBG_TING 61 62 option O_EXTOBJ "../object/ncutil.o" … … 1219 1220 insert_fct arg xinitnc 1220 1221 insert_fct arg init_euler 1222 insert_fct arg init_kt 1221 1223 //#insert_fct arg load_shape_func 1222 1224 //#insert_fct arg load_stdev_pca -
trunk/src/sinobad.h
r70 r71 60 60 int nksr; 61 61 void xtraqsr_init();// init of solar radiation penetration 62 double Ytold; //pour voir se pas de temps 63 double ktinit; //premier pas ocean 62 63 64 64 # define rdttra( k ) rdt 65 65 double r2dt; … … 73 73 //latitude for the Coriolis or Beta parameter 74 74 75 //mode de sauvegarde (==0 3D, ==1 2D surface )75 //mode de sauvegarde (==0 3D, ==1 2D surface ==2 un seul point) 76 76 short savemode=0; 77 77 short isave=23; 78 short jsave=16; 79 short ksave=0; 78 80 79 81 int n_zdfexp=3; … … 166 168 xdisplay(); 167 169 xtraqsr_init(); 168 ktinit=0; //A mettre dans la namelist ????170 YDispTime=1; 169 171 } 170 172 //____________________________________________________________________________ … … 180 182 fprintf(p,"%23.16e\n",YTotalCost); 181 183 fclose(p); 182 Ytold=Yt; 183 kt=ktinit; 184 //kt=nit000+(Yt-TU); 184 185 } 185 186 //_____________________________________________________________________________ … … 199 200 void forward_before (int ctrp) 200 201 { // permet d'intervenir si besoin avant le forward 201 202 203 kt=ktinit + (Yt-TU); 204 printf("kt=%lf\n",kt); 205 if(Yt==TU+1 && neuler==0) 206 r2dt=rdt; 207 else 208 r2dt=2.*rdt; 202 kt=nit000 + (Yt-TU); 203 if(YDispTime) printf(" >>> current forward time : kt=%lf \n",kt); 204 if(Yt==TU+1 && neuler==0) 205 r2dt=rdt; 206 else 207 r2dt=2.*rdt; 209 208 } 210 209 //_____________________________________________________________________________ 211 210 void forward_after (int ctrp) 212 { // permet d'intervenir si besoin aprÚs le forward 213 //printf("neuler=%d\n",neuler); 211 { 212 // permet d'intervenir si besoin aprÚs le forward 213 //printf("neuler=%d\n",neuler); 214 214 } 215 215 //_____________________________________________________________________________ … … 241 241 // =YIO_OUTOOBS => appel via outoobs 242 242 243 if(indic==YIO_SAVESTATE && !strcmp(nmmod,"tb") && savemode ){243 if(indic==YIO_SAVESTATE && !strcmp(nmmod,"tb") && savemode==1){ 244 244 if(kaxe==0 ) 245 245 return(1); … … 247 247 return(0); 248 248 } 249 if(indic==YIO_SAVESTATE && !strcmp(nmmod,"tb") && savemode==2){ 250 if(iaxe==isave && jaxe==jsave && kaxe==ksave) 251 return(1); 252 else 253 return(0); 254 } 255 249 256 250 257 /* if(indic==YIO_OUTOOBS){ … … 643 650 short newmode=atoi(argv[1]); 644 651 savemode=newmode; 652 if (newmode==2) { 653 isave=atoi(argv[2]); 654 jsave=atoi(argv[3]); 655 ksave=atoi(argv[4]); 656 printf("\n savemode : 1 point (Yi=%d,Yj=%d,Yk=%d)\n",isave,jsave,ksave); 657 } 645 658 646 659 } … … 1081 1094 write_rst_global_att(rest_file_id); //Ecrit les global attributes 1082 1095 define_dim(rest_file_id,dimid); //Définit les dimensions 1083 write_rst_var(TU,rest_file_id,dimid); //Ecrit les variables 1096 printf("\n Save restart at kt=%f (Yt=%d)\n",kt,Yt); 1097 write_rst_var(kt-nit000+TU,rest_file_id,dimid); //Ecrit les variables 1084 1098 nc_close( rest_file_id); //ferme le fichier 1085 1099 } … … 1169 1183 } 1170 1184 } 1185 1186 void init_kt(int argc, char *argv[]){ 1187 if (argc!=2) 1188 { 1189 printf("\nwrong number of argument in init_kt : specify a positive number\n"); 1190 exit(1); 1191 } 1192 else 1193 { 1194 double t0; 1195 t0=atof(argv[1]); 1196 if(t0<0) 1197 { 1198 printf("\nwrong argument in init_kt : specify a postiive number\n"); 1199 exit(1); 1200 } 1201 nit000=t0; 1202 } 1203 } 1204 1205 /* Plus tard pour tester l'erreur modÚle. 1206 void genere_obs(int argc, char *argv[]){ 1207 //genere_obs Module increment t0 dt tend i j k 1208 if (argc!=9) 1209 { 1210 printf("\n wrong number of argument in genere_obs \n"); 1211 exit(1); 1212 } 1213 else 1214 { 1215 1216 } 1217 1218 1219 1220 } 1221 */
Note: See TracChangeset
for help on using the changeset viewer.