- Timestamp:
- Jun 8, 2011, 3:26:57 PM (14 years ago)
- Location:
- trunk/LMDZ.MARS
- Files:
-
- 2 added
- 5 deleted
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/README
r146 r148 655 655 in file must be initialized by user. 656 656 >> minor bug fix in datareadnc.F : 'datafile' path must be initialized. 657 658 == 08/06/2011 == EM 659 >> Significant update on how the number of scatterers is managed: 660 Instead of having to manualy change 'nearkind' in dimradmars.h, the 661 number of scatterers must now be set when compiling, using makegcm 662 "makegcm -s 1" for one scatterer (dust) or "makegcm -s 2" (e.g. dust 663 and water ice), default behaviour (ie not specifying -s #) is -s 1 664 Modified phymars/dimradmars.h , added directory phymars/scatterers 665 with script make_scatterers , and adapted makegcm* scripts. -
trunk/LMDZ.MARS/libf/phymars/dimradmars.h
r147 r148 22 22 parameter (NDLO2=NDLON) 23 23 24 ! Number of kind of tracer radiative properties 24 ! Number of kind of tracer radiative properties 25 25 ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 26 ! (ex: naerkind=1 if you use one dust mode without ice ...) 27 ! (ex: naerkind=2 if you use one dust mode and active ice ...) 28 integer naerkind 29 parameter (naerkind=1) 30 ! parameter (naerkind=2) 31 !!!!!! CHANGE CHANGE nsizemax BELOW BELOW 26 ! naerkind is set in scatterers.h (built when compiling with makegcm -s #) 27 28 #include"scatterers.h" 29 ! NB: May have to change value of nsizemax below when changing scatterers 32 30 33 31 ! Reference wavelengths used to compute reference optical depth (m) -
trunk/LMDZ.MARS/makegcm
r38 r148 13 13 set grille=reg 14 14 set dyntype="dyn" 15 set scatterers="1" 15 16 ######################################################################## 16 17 # path a changer contenant les sources et les objets du modele … … 290 291 $LMDGCM/libf/grid/dimension/makdim 291 292 293 -s nscat Number of radiatively active scatterers 294 292 295 -p PHYS Selects the set of physical parameterizations 293 296 you want to compile the model with. … … 346 349 case -p 347 350 set physique="$2" ; set phys="PHYS=$physique" ; shift ; shift ; goto top 351 352 case -s 353 set scatterers="$2" ; shift ; goto top 348 354 349 355 case -g … … 459 465 # build final name of libraries directory: 460 466 if ( "$dyntype" == "olddyn" ) then 461 set nomlib=${nomlib}_${dim_}_t${ntrac}_ ${grille}_olddyn467 set nomlib=${nomlib}_${dim_}_t${ntrac}_s${scatterers}_${grille}_olddyn 462 468 else 463 set nomlib=${nomlib}_${dim_}_t${ntrac}_ ${grille}469 set nomlib=${nomlib}_${dim_}_t${ntrac}_s${scatterers}_${grille} 464 470 endif 465 471 … … 507 513 cd $libf/grid 508 514 if ( -f dimensions.h ) then 509 echo "ATTENTION: vous etes sans doute en train de compiler le modele par ailleurs" 510 echo "Attendez que la premiere compilation soit terminee pour relancer la suivante." 511 echo "Si vous etes sur que vous ne compilez pas le modele par ailleurs," 512 echo "vous pouvez continuer en repondant oui." 513 echo "Voulez-vous vraiment continuer?" 514 if ( $< == "oui" ) then 515 echo "WARNING: you are probably already compiling the model (perhaps" 516 echo " elsewhere). Wait until the first compilation ends before " 517 echo " compiling a different configuration." 518 echo "If you are sure that you are not already compiling, then you" 519 echo " may continue this compilation by answering yes." 520 echo "Do you want to continue?" 521 if ( $< == "yes" ) then 515 522 #remove old dimensions.h file 516 523 \rm -f $libf/grid/dimensions.h 524 #remove old scatterers.h file 525 \rm -f $libf/phymars/scatterers.h 517 526 else 518 527 exit … … 525 534 # echo contents of dimensions.h to standard output 526 535 cat $libf/grid/dimensions.h 536 537 cd $libf/phymars/scatterers 538 # Build the appropriate 'scatterers.h' file 539 ./make_scatterers $scatterers 540 # echo contents of scatterers.h to standard output 541 cat $libf/phymars/scatterers.h 527 542 528 543 cd $LMDGCM … … 681 696 endif 682 697 683 684 685 #686 # les deux test suivants sont "temporaires" pour pallier des "faiblesses" du687 # compilateur fortran Sun: f90: SC4.0 11 Sep 1995 FORTRAN 90 1.1688 #689 #if ($code == 'create_limit' && $SUN) then690 # set link=f77691 # set opt_link="-L$NCDFLIB -lnetcdf"692 #endif693 694 #if ($code == 'create_etat0' && $SUN) then695 # if ( ! -f $libo/libdyn3d.a ) then696 # echo "Priere de compiler gcm en premier pour des raisons d'optimisation"697 # \rm $libf/grid/dimensions.h698 # exit699 # endif700 # set optim90=" -dalign -fixed "701 # set opt_link="-L$IOIPSLDIR -lioipsl -L$NCDFLIB -lnetcdf"702 # set link="$f90 $optim90"703 # touch $LMDGCM/libf/dyn3d/startvar.F704 # touch $LMDGCM/libf/dyn3d/etat0_netcdf.F705 #endif706 707 #708 # Encore un test temporaire: probleme de compilation sur VPP709 # l'optimisation de startvar se passe mal710 #711 #if ($code == 'create_etat0' && $VPP) then712 # if ( ! -f $libo/libdyn3d.a ) then713 # echo "Priere de compiler gcm en premier pour des raisons d'optimisation"714 # \rm $libf/grid/dimensions.h715 # exit716 # endif717 # set optim90="$optim90"" -X9 -w"718 # set opt_link="-L$NCDFLIB -lnetcdf"719 # touch $LMDGCM/libf/dyn3d/startvar.F720 # touch $LMDGCM/libf/dyn3d/etat0_netcdf.F721 #endif722 723 #724 # etat0_netcdf a besoin d'info de la physique725 # A revoir726 698 set include="$include"" -I$libf/phy$physique" 727 699 … … 812 784 PROG=$code 813 785 814 \rm $libf/grid/dimensions.h 786 # cleanup, remove dimensions.h and scatterers.h 787 \rm -f $libf/grid/dimensions.h 788 \rm -f $libf/phymars/scatterers.h -
trunk/LMDZ.MARS/makegcm_g95
r38 r148 13 13 set grille=reg 14 14 set dyntype="dyn" 15 set scatterers="1" 15 16 ######################################################################## 16 17 # path a changer contenant les sources et les objets du modele … … 287 288 $LMDGCM/libf/grid/dimension/makdim 288 289 290 -s nscat Number of radiatively active scatterers 291 289 292 -p PHYS Selects the set of physical parameterizations 290 293 you want to compile the model with. … … 343 346 case -p 344 347 set physique="$2" ; set phys="PHYS=$physique" ; shift ; shift ; goto top 348 349 case -s 350 set scatterers="$2" ; shift ; goto top 345 351 346 352 case -g … … 457 463 # build final name of libraries directory: 458 464 if ( "$dyntype" == "olddyn" ) then 459 set nomlib=${nomlib}_${dim_}_t${ntrac}_ ${grille}_olddyn465 set nomlib=${nomlib}_${dim_}_t${ntrac}_s${scatterers}_${grille}_olddyn 460 466 else 461 set nomlib=${nomlib}_${dim_}_t${ntrac}_ ${grille}467 set nomlib=${nomlib}_${dim_}_t${ntrac}_s${scatterers}_${grille} 462 468 endif 463 469 … … 505 511 cd $libf/grid 506 512 if ( -f dimensions.h ) then 507 echo "ATTENTION: vous etes sans doute en train de compiler le modele par ailleurs" 508 echo "Attendez que la premiere compilation soit terminee pour relancer la suivante." 509 echo "Si vous etes sur que vous ne compilez pas le modele par ailleurs," 510 echo "vous pouvez continuer en repondant oui." 511 echo "Voulez-vous vraiment continuer?" 512 if ( $< == "oui" ) then 513 echo "WARNING: you are probably already compiling the model (perhaps" 514 echo " elsewhere). Wait until the first compilation ends before " 515 echo " compiling a different configuration." 516 echo "If you are sure that you are not already compiling, then you" 517 echo " may continue this compilation by answering yes." 518 echo "Do you want to continue?" 519 if ( $< == "yes" ) then 513 520 #remove old dimensions.h file 514 521 \rm -f $libf/grid/dimensions.h 522 #remove old scatterers.h file 523 \rm -f $libf/phymars/scatterers.h 515 524 else 516 525 exit … … 523 532 # echo contents of dimensions.h to standard output 524 533 cat $libf/grid/dimensions.h 534 535 cd $libf/phymars/scatterers 536 # Build the appropriate 'scatterers.h' file 537 ./make_scatterers $scatterers 538 # echo contents of scatterers.h to standard output 539 cat $libf/phymars/scatterers.h 525 540 526 541 cd $LMDGCM … … 681 696 endif 682 697 683 684 685 #686 # les deux test suivants sont "temporaires" pour pallier des "faiblesses" du687 # compilateur fortran Sun: f90: SC4.0 11 Sep 1995 FORTRAN 90 1.1688 #689 #if ($code == 'create_limit' && $SUN) then690 # set link=f77691 # set opt_link="-L$NCDFLIB -lnetcdf"692 #endif693 694 #if ($code == 'create_etat0' && $SUN) then695 # if ( ! -f $libo/libdyn3d.a ) then696 # echo "Priere de compiler gcm en premier pour des raisons d'optimisation"697 # \rm $libf/grid/dimensions.h698 # exit699 # endif700 # set optim90=" -dalign -fixed "701 # set opt_link="-L$IOIPSLDIR -lioipsl -L$NCDFLIB -lnetcdf"702 # set link="$f90 $optim90"703 # touch $LMDGCM/libf/dyn3d/startvar.F704 # touch $LMDGCM/libf/dyn3d/etat0_netcdf.F705 #endif706 707 #708 # Encore un test temporaire: probleme de compilation sur VPP709 # l'optimisation de startvar se passe mal710 #711 #if ($code == 'create_etat0' && $VPP) then712 # if ( ! -f $libo/libdyn3d.a ) then713 # echo "Priere de compiler gcm en premier pour des raisons d'optimisation"714 # \rm $libf/grid/dimensions.h715 # exit716 # endif717 # set optim90="$optim90"" -X9 -w"718 # set opt_link="-L$NCDFLIB -lnetcdf"719 # touch $LMDGCM/libf/dyn3d/startvar.F720 # touch $LMDGCM/libf/dyn3d/etat0_netcdf.F721 #endif722 723 #724 # etat0_netcdf a besoin d'info de la physique725 # A revoir726 698 set include="$include"" -I$libf/phy$physique" 727 699 … … 813 785 PROG=$code 814 786 815 \rm $libf/grid/dimensions.h 787 # cleanup, remove dimensions.h and scatterers.h 788 \rm -f $libf/grid/dimensions.h 789 \rm -f $libf/phymars/scatterers.h -
trunk/LMDZ.MARS/makegcm_gfortran
r38 r148 13 13 set grille=reg 14 14 set dyntype="dyn" 15 set scatterers="1" 15 16 ######################################################################## 16 17 # path a changer contenant les sources et les objets du modele … … 285 286 $LMDGCM/libf/grid/dimension/makdim 286 287 288 -s nscat Number of radiatively active scatterers 289 287 290 -p PHYS Selects the set of physical parameterizations 288 291 you want to compile the model with. … … 341 344 case -p 342 345 set physique="$2" ; set phys="PHYS=$physique" ; shift ; shift ; goto top 346 347 case -s 348 set scatterers="$2" ; shift ; goto top 343 349 344 350 case -g … … 455 461 # build final name of libraries directory: 456 462 if ( "$dyntype" == "olddyn" ) then 457 set nomlib=${nomlib}_${dim_}_t${ntrac}_ ${grille}_olddyn463 set nomlib=${nomlib}_${dim_}_t${ntrac}_s${scatterers}_${grille}_olddyn 458 464 else 459 set nomlib=${nomlib}_${dim_}_t${ntrac}_ ${grille}465 set nomlib=${nomlib}_${dim_}_t${ntrac}_s${scatterers}_${grille} 460 466 endif 461 467 … … 503 509 cd $libf/grid 504 510 if ( -f dimensions.h ) then 505 echo "ATTENTION: vous etes sans doute en train de compiler le modele par ailleurs" 506 echo "Attendez que la premiere compilation soit terminee pour relancer la suivante." 507 echo "Si vous etes sur que vous ne compilez pas le modele par ailleurs," 508 echo "vous pouvez continuer en repondant oui." 509 echo "Voulez-vous vraiment continuer?" 510 if ( $< == "oui" ) then 511 echo "WARNING: you are probably already compiling the model (perhaps" 512 echo " elsewhere). Wait until the first compilation ends before " 513 echo " compiling a different configuration." 514 echo "If you are sure that you are not already compiling, then you" 515 echo " may continue this compilation by answering yes." 516 echo "Do you want to continue?" 517 if ( $< == "yes" ) then 511 518 #remove old dimensions.h file 512 519 \rm -f $libf/grid/dimensions.h 520 #remove old scatterers.h file 521 \rm -f $libf/phymars/scatterers.h 513 522 else 514 523 exit … … 521 530 # echo contents of dimensions.h to standard output 522 531 cat $libf/grid/dimensions.h 532 533 cd $libf/phymars/scatterers 534 # Build the appropriate 'scatterers.h' file 535 ./make_scatterers $scatterers 536 # echo contents of scatterers.h to standard output 537 cat $libf/phymars/scatterers.h 523 538 524 539 cd $LMDGCM … … 679 694 endif 680 695 681 682 683 #684 # les deux test suivants sont "temporaires" pour pallier des "faiblesses" du685 # compilateur fortran Sun: f90: SC4.0 11 Sep 1995 FORTRAN 90 1.1686 #687 #if ($code == 'create_limit' && $SUN) then688 # set link=f77689 # set opt_link="-L$NCDFLIB -lnetcdf"690 #endif691 692 #if ($code == 'create_etat0' && $SUN) then693 # if ( ! -f $libo/libdyn3d.a ) then694 # echo "Priere de compiler gcm en premier pour des raisons d'optimisation"695 # \rm $libf/grid/dimensions.h696 # exit697 # endif698 # set optim90=" -dalign -fixed "699 # set opt_link="-L$IOIPSLDIR -lioipsl -L$NCDFLIB -lnetcdf"700 # set link="$f90 $optim90"701 # touch $LMDGCM/libf/dyn3d/startvar.F702 # touch $LMDGCM/libf/dyn3d/etat0_netcdf.F703 #endif704 705 #706 # Encore un test temporaire: probleme de compilation sur VPP707 # l'optimisation de startvar se passe mal708 #709 #if ($code == 'create_etat0' && $VPP) then710 # if ( ! -f $libo/libdyn3d.a ) then711 # echo "Priere de compiler gcm en premier pour des raisons d'optimisation"712 # \rm $libf/grid/dimensions.h713 # exit714 # endif715 # set optim90="$optim90"" -X9 -w"716 # set opt_link="-L$NCDFLIB -lnetcdf"717 # touch $LMDGCM/libf/dyn3d/startvar.F718 # touch $LMDGCM/libf/dyn3d/etat0_netcdf.F719 #endif720 721 #722 # etat0_netcdf a besoin d'info de la physique723 # A revoir724 696 set include="$include"" -I$libf/phy$physique" 725 697 … … 811 783 PROG=$code 812 784 813 \rm $libf/grid/dimensions.h 785 # cleanup, remove dimensions.h and scatterers.h 786 \rm -f $libf/grid/dimensions.h 787 \rm -f $libf/phymars/scatterers.h -
trunk/LMDZ.MARS/makegcm_ifort
r141 r148 13 13 set grille=reg 14 14 set dyntype="dyn" 15 set scatterers="1" 15 16 ######################################################################## 16 17 # path a changer contenant les sources et les objets du modele … … 279 280 $LMDGCM/libf/grid/dimension/makdim 280 281 282 -s nscat Number of radiatively active scatterers 283 281 284 -p PHYS Selects the set of physical parameterizations 282 285 you want to compile the model with. … … 335 338 case -p 336 339 set physique="$2" ; set phys="PHYS=$physique" ; shift ; shift ; goto top 340 341 case -s 342 set scatterers="$2" ; shift ; goto top 337 343 338 344 case -g … … 449 455 # build final name of libraries directory: 450 456 if ( "$dyntype" == "olddyn" ) then 451 set nomlib=${nomlib}_${dim_}_t${ntrac}_ ${grille}_olddyn457 set nomlib=${nomlib}_${dim_}_t${ntrac}_s${scatterers}_${grille}_olddyn 452 458 else 453 set nomlib=${nomlib}_${dim_}_t${ntrac}_ ${grille}459 set nomlib=${nomlib}_${dim_}_t${ntrac}_s${scatterers}_${grille} 454 460 endif 455 461 … … 497 503 cd $libf/grid 498 504 if ( -f dimensions.h ) then 499 echo "ATTENTION: vous etes sans doute en train de compiler le modele par ailleurs" 500 echo "Attendez que la premiere compilation soit terminee pour relancer la suivante." 501 echo "Si vous etes sur que vous ne compilez pas le modele par ailleurs," 502 echo "vous pouvez continuer en repondant oui." 503 echo "Voulez-vous vraiment continuer?" 504 if ( $< == "oui" ) then 505 echo "WARNING: you are probably already compiling the model (perhaps" 506 echo " elsewhere). Wait until the first compilation ends before " 507 echo " compiling a different configuration." 508 echo "If you are sure that you are not already compiling, then you" 509 echo " may continue this compilation by answering yes." 510 echo "Do you want to continue?" 511 if ( $< == "yes" ) then 505 512 #remove old dimensions.h file 506 513 \rm -f $libf/grid/dimensions.h 514 #remove old scatterers.h file 515 \rm -f $libf/phymars/scatterers.h 507 516 else 508 517 exit … … 515 524 # echo contents of dimensions.h to standard output 516 525 cat $libf/grid/dimensions.h 526 527 cd $libf/phymars/scatterers 528 # Build the appropriate 'scatterers.h' file 529 ./make_scatterers $scatterers 530 # echo contents of scatterers.h to standard output 531 cat $libf/phymars/scatterers.h 517 532 518 533 cd $LMDGCM … … 672 687 endif 673 688 674 675 676 #677 # les deux test suivants sont "temporaires" pour pallier des "faiblesses" du678 # compilateur fortran Sun: f90: SC4.0 11 Sep 1995 FORTRAN 90 1.1679 #680 #if ($code == 'create_limit' && $SUN) then681 # set link=f77682 # set opt_link="-L$NCDFLIB -lnetcdf"683 #endif684 685 #if ($code == 'create_etat0' && $SUN) then686 # if ( ! -f $libo/libdyn3d.a ) then687 # echo "Priere de compiler gcm en premier pour des raisons d'optimisation"688 # \rm $libf/grid/dimensions.h689 # exit690 # endif691 # set optim90=" -dalign -fixed "692 # set opt_link="-L$IOIPSLDIR -lioipsl -L$NCDFLIB -lnetcdf"693 # set link="$f90 $optim90"694 # touch $LMDGCM/libf/dyn3d/startvar.F695 # touch $LMDGCM/libf/dyn3d/etat0_netcdf.F696 #endif697 698 #699 # Encore un test temporaire: probleme de compilation sur VPP700 # l'optimisation de startvar se passe mal701 #702 #if ($code == 'create_etat0' && $VPP) then703 # if ( ! -f $libo/libdyn3d.a ) then704 # echo "Priere de compiler gcm en premier pour des raisons d'optimisation"705 # \rm $libf/grid/dimensions.h706 # exit707 # endif708 # set optim90="$optim90"" -X9 -w"709 # set opt_link="-L$NCDFLIB -lnetcdf"710 # touch $LMDGCM/libf/dyn3d/startvar.F711 # touch $LMDGCM/libf/dyn3d/etat0_netcdf.F712 #endif713 714 #715 # etat0_netcdf a besoin d'info de la physique716 # A revoir717 689 set include="$include"" -I$libf/phy$physique" 718 690 … … 804 776 PROG=$code 805 777 806 \rm $libf/grid/dimensions.h 778 # cleanup, remove dimensions.h and scatterers.h 779 \rm -f $libf/grid/dimensions.h 780 \rm -f $libf/phymars/scatterers.h
Note: See TracChangeset
for help on using the changeset viewer.