[6] | 1 | PROGRAM biolim |
---|
| 2 | |
---|
| 3 | ! This is the BIOLIM code |
---|
| 4 | ! composed of the halo-thermodynamic model of Vancoppenolle et al. (JGR 2007) |
---|
| 5 | ! and of a newly developed biogeochemical component |
---|
| 6 | |
---|
| 7 | ! (c) Martin Vancoppenolle (UCL-ASTR, 2002-2008) |
---|
| 8 | |
---|
| 9 | INCLUDE 'type.com' |
---|
| 10 | INCLUDE 'const.com' |
---|
| 11 | INCLUDE 'para.com' |
---|
| 12 | INCLUDE 'ice.com' |
---|
| 13 | INCLUDE 'forcing.com' |
---|
| 14 | INCLUDE 'bio.com' |
---|
| 15 | |
---|
| 16 | !------------------------------------------------------------------------------ |
---|
| 17 | ! 1) CREATES THE OUTPUT FILES |
---|
| 18 | !------------------------------------------------------------------------------ |
---|
| 19 | |
---|
| 20 | |
---|
| 21 | OPEN(numout,file='run.out.txt',status='replace') ! output text file |
---|
| 22 | OPEN(503 ,file='cons_bio.out.txt',status='replace') ! output conservation file |
---|
| 23 | OPEN(85 ,file='forcing.out.txt',status='replace') |
---|
| 24 | OPEN(86 ,file='time.step', status='replace') |
---|
| 25 | |
---|
| 26 | WRITE(numout,*) ' ---------------------------------------------- ' |
---|
| 27 | WRITE(numout,*) ' *** BIO-LIM sea ice model *** ' |
---|
| 28 | WRITE(numout,*) ' (c) UCL-ASTR, Louvain-La-Neuve Belgium ' |
---|
| 29 | WRITE(numout,*) ' Martin Vancoppenolle, 2008. ' |
---|
| 30 | WRITE(numout,*) ' ---------------------------------------------- ' |
---|
| 31 | WRITE(numout,*) |
---|
| 32 | WRITE(numout,*) ' biolim : ' |
---|
| 33 | WRITE(numout,*) ' ~~~~~~~~~ ' |
---|
| 34 | WRITE(numout,*) |
---|
| 35 | ! |
---|
| 36 | !------------------------------------------------------------------------------ |
---|
| 37 | ! 2) PARAMETERS |
---|
| 38 | !------------------------------------------------------------------------------ |
---|
| 39 | ! |
---|
| 40 | CALL ice_phy_param ! physical parameters |
---|
| 41 | |
---|
| 42 | CALL ice_bio_param ! biological parameters |
---|
| 43 | ! |
---|
| 44 | !----------------------------------------------------------------------- |
---|
| 45 | ! 3) MAIN LOOP | |
---|
| 46 | !----------------------------------------------------------------------- |
---|
| 47 | ! |
---|
| 48 | WRITE(numout,*) |
---|
| 49 | WRITE(numout,*) ' Loop begins, iteration : ', nstart |
---|
| 50 | WRITE(numout,*) |
---|
| 51 | WRITE(numout,*) ' nstart = ', nstart |
---|
| 52 | WRITE(numout,*) ' nend = ', nend |
---|
| 53 | WRITE(numout,*) |
---|
| 54 | |
---|
| 55 | DO 300 numit = nstart, nend |
---|
| 56 | |
---|
| 57 | !--------------------- |
---|
| 58 | ! Time step variables |
---|
| 59 | !--------------------- |
---|
| 60 | WRITE(86,*) numit |
---|
| 61 | |
---|
| 62 | WRITE(numout,*) |
---|
| 63 | & '=============================================================' |
---|
| 64 | WRITE(numout,*) |
---|
| 65 | WRITE(numout,*) ' *** Beginning the time step *** ', numit |
---|
| 66 | WRITE(numout,*) |
---|
| 67 | WRITE(numout,*) |
---|
| 68 | & '=============================================================' |
---|
| 69 | WRITE(numout,*) |
---|
| 70 | |
---|
| 71 | CALL ice_th(n_i,n_s) ! main model routine |
---|
| 72 | |
---|
| 73 | 300 CONTINUE ! End of the loop |
---|
| 74 | |
---|
| 75 | !----------------------------------------------------------------------- |
---|
| 76 | ! 4) END OF THE RUN | |
---|
| 77 | !----------------------------------------------------------------------- |
---|
| 78 | ! close output files |
---|
| 79 | CLOSE(numout) |
---|
| 80 | CLOSE(85) |
---|
| 81 | CLOSE(86) |
---|
| 82 | CLOSE(999) |
---|
| 83 | CLOSE(24) |
---|
| 84 | |
---|
| 85 | !-----------------------------------------------------------------------------! |
---|
| 86 | ! End of the main routine |
---|
| 87 | ! |
---|
| 88 | END |
---|