[1005] | 1 | #!/bin/bash |
---|
[38] | 2 | ############################################################################## |
---|
| 3 | # Script to run successive monthly (a month spans 30 deg. in Ls) |
---|
| 4 | # simulations of the LMD Mars GCM. |
---|
| 5 | # This script uses the following files: |
---|
| 6 | # - "run0": script to compute a given month |
---|
| 7 | # - "num_run": single line file containing a value, which is the value of |
---|
| 8 | # the 'initializing' month |
---|
| 9 | # - "run.def.ref": a "run.def" file, exept that variable "nday" is set to 9999 |
---|
| 10 | # - all files usually neaded to run the GCM. Note that initialization |
---|
| 11 | # datafiles "start.nc" and "startfi.nc" must be |
---|
| 12 | # "start${num_run}.nc" and "startfi${num_run}.nc" |
---|
| 13 | ############################################################################## |
---|
| 14 | # DON'T FORGET TO: |
---|
| 15 | # 1) Set the "number of simulation" to 1 in "run0" |
---|
| 16 | # 2) Copy "run.def" to "run.def.ref" and SET nday to 9999 in run.def.ref |
---|
| 17 | # 3) uncomment the various lines below (those which begin with "sed ...") |
---|
| 18 | # 4) If restarting in the middle of a year: |
---|
| 19 | # -Below, Comment all the month already computed |
---|
| 20 | # -Write "N" in file "num_run" if starting from startN.nc ! |
---|
| 21 | ############################################################################## |
---|
| 22 | |
---|
| 23 | |
---|
| 24 | # Remove old "error" file (if any) and create a brand new (blank) one |
---|
| 25 | \rm -f error; touch error |
---|
| 26 | |
---|
| 27 | # 12 martian months (=30°deg Ls) of unequal length (excentric orbit) |
---|
[1005] | 28 | sed s/9999/61/ run.def.ref > run.def ; run0 >> error #1 |
---|
| 29 | sed s/9999/66/ run.def.ref > run.def ; run0 >> error #2 |
---|
| 30 | sed s/9999/66/ run.def.ref > run.def ; run0 >> error #3 |
---|
| 31 | sed s/9999/65/ run.def.ref > run.def ; run0 >> error #4 |
---|
| 32 | sed s/9999/60/ run.def.ref > run.def ; run0 >> error #5 |
---|
| 33 | sed s/9999/54/ run.def.ref > run.def ; run0 >> error #6 |
---|
| 34 | sed s/9999/50/ run.def.ref > run.def ; run0 >> error #7 |
---|
| 35 | sed s/9999/46/ run.def.ref > run.def ; run0 >> error #8 |
---|
| 36 | sed s/9999/47/ run.def.ref > run.def ; run0 >> error #9 |
---|
| 37 | sed s/9999/47/ run.def.ref > run.def ; run0 >> error #10 |
---|
| 38 | sed s/9999/51/ run.def.ref > run.def ; run0 >> error #11 |
---|
| 39 | sed s/9999/56/ run.def.ref > run.def ; run0 >> error #12 |
---|
[38] | 40 | # |
---|
| 41 | # 12 martian months (=30°deg Ls) of unequal length (excentric orbit) |
---|
[1005] | 42 | # sed s/9999/61/ run.def.ref > run.def ; run0 >> error #13 |
---|
| 43 | # sed s/9999/66/ run.def.ref > run.def ; run0 >> error #14 |
---|
| 44 | # sed s/9999/66/ run.def.ref > run.def ; run0 >> error #15 |
---|
| 45 | # sed s/9999/65/ run.def.ref > run.def ; run0 >> error #16 |
---|
| 46 | # sed s/9999/60/ run.def.ref > run.def ; run0 >> error #17 |
---|
| 47 | # sed s/9999/54/ run.def.ref > run.def ; run0 >> error #18 |
---|
| 48 | # sed s/9999/50/ run.def.ref > run.def ; run0 >> error #19 |
---|
| 49 | # sed s/9999/46/ run.def.ref > run.def ; run0 >> error #20 |
---|
| 50 | # sed s/9999/47/ run.def.ref > run.def ; run0 >> error #21 |
---|
| 51 | # sed s/9999/47/ run.def.ref > run.def ; run0 >> error #22 |
---|
| 52 | # sed s/9999/51/ run.def.ref > run.def ; run0 >> error #23 |
---|
| 53 | # sed s/9999/56/ run.def.ref > run.def ; run0 >> error #24 |
---|
[38] | 54 | # |
---|
| 55 | # 12 martian months (=30°deg Ls) of unequal length (excentric orbit) |
---|
[1005] | 56 | # sed s/9999/61/ run.def.ref > run.def ; run0 >> error #25 |
---|
| 57 | # sed s/9999/66/ run.def.ref > run.def ; run0 >> error #26 |
---|
| 58 | # sed s/9999/66/ run.def.ref > run.def ; run0 >> error #27 |
---|
| 59 | # sed s/9999/65/ run.def.ref > run.def ; run0 >> error #28 |
---|
| 60 | # sed s/9999/60/ run.def.ref > run.def ; run0 >> error #29 |
---|
| 61 | # sed s/9999/54/ run.def.ref > run.def ; run0 >> error #30 |
---|
| 62 | # sed s/9999/50/ run.def.ref > run.def ; run0 >> error #31 |
---|
| 63 | # sed s/9999/46/ run.def.ref > run.def ; run0 >> error #32 |
---|
| 64 | # sed s/9999/47/ run.def.ref > run.def ; run0 >> error #33 |
---|
| 65 | # sed s/9999/47/ run.def.ref > run.def ; run0 >> error #34 |
---|
| 66 | # sed s/9999/51/ run.def.ref > run.def ; run0 >> error #35 |
---|
| 67 | # sed s/9999/56/ run.def.ref > run.def ; run0 >> error #36 |
---|
[38] | 68 | |
---|
| 69 | # These last lines allow to reconstruct the last num_run after a model crash |
---|
| 70 | # (because after crash, num_run was set to 9999 so that no further simulation |
---|
| 71 | # Could be performed |
---|
[1005] | 72 | number=`cat num_run` |
---|
| 73 | if (( $number == 99999)) ; then |
---|
[38] | 74 | set numold=`cat num_run.crash` |
---|
[1005] | 75 | echo '-----' >> error |
---|
| 76 | echo 'Seasonal simulation aborted after starting from start'$numold >> error |
---|
[38] | 77 | \mv -f num_run.crash num_run |
---|
[1005] | 78 | fi |
---|