Page 2 of 4

Re: how do YOU manage barrels of oil?

Posted: Mon Mar 20, 2017 1:02 pm
by OdinYggd
I just use the logi bots to deal with it.

Empty Barrels:
Unload if less than 250.
Load if greater than 500.
All stations handling oil use similar numbers for empty barrels.
The refinery will produce empty barrels up to a total of 1000, which gradually fills the entire system.


Full barrels:
Oil-producing stations fill barrels up to 25k or 50k logi count. The train also brings them back to the refinery until the refinery has 50k in its network.

So at any given time I'll have several logi networks linked by rail each with up to 50k full barrels in it. Makes sure I don't run out in any sort of hurry.


The trains use reserved slots, 1 car that is half empties and half fulls. This car usually runs on a mixed goods train, but sometimes I'll put them on a plates & circuits train if a particular area has a lot of oil in it.

Re: how do YOU manage barrels of oil?

Posted: Mon Mar 20, 2017 10:28 pm
by Frightning
mrvn wrote:This makes me wonder: How many assembler do you need to fill a yellow/red/blue belt completely?
For Blue, you need 40 barrels/sec, so, each assembler makes 1 barrel/sec*crafting speed (which can be affected by Speed modules, no Productivity as barreling/unbarreling are not intermediate products; for good reason, otherwise, free oil would be possible). For Red it's 2/3 that, or 26.(6)... barrels/sec. for Yellow, 1/3, or 13.(3)... barrels/sec. Without modules, you would need 40/1.25=32 Assembly machine 3s (24 for Red, 12 for Yellow). By the way, the Blue belt oil rate is 40*25=1000 Crude oil/sec. (Pretty insane, isn't it?)

Re: how do YOU manage barrels of oil?

Posted: Tue Mar 21, 2017 1:00 pm
by mrvn
add 10000 pump jacks to produce all that crude oil (after depletion) and 576 refineries to consume all that crude oil.

Re: how do YOU manage barrels of oil?

Posted: Tue Mar 21, 2017 9:17 pm
by Lemlin
You only need 1 or 2 assemblers to fill the oil barrels at any given time of the oil field life span, only exception is maybe the first hours. More than that could actually slow the entire process down since the pumpjacks doesn´t pump enough oil.
1 assembler can support 250 pumpjack pumping at 0.1 oil/s. If you manage to beacon an oil field with speed modules so you get as high as 0.5 oil/s, if thats possible in vanilla, that mean 50 pumpjack for each barreling assembler.

Also, unless you have a really crappy load/unload design at your stations you would only need to filter two slots in a wagon. One for filled barrels and one for empty barrels.
That´s enough, when you unload empty barrel you make room for full barrels, and when you unload full barrels you make room for empty barrels. Doesn´t have to be more complicated than that.
Never add more empty barrels into the barreling system without any kind of limitation, that would overflow it quickly.

Re: how do YOU manage barrels of oil?

Posted: Tue Mar 21, 2017 10:07 pm
by kurtulmak
Every oil loading station gets at least one crude storage tank, storage tanks are wired to an arithmetic combinator that divides the contents by 25 and allows that many empty barrels to be unloaded by a filter or stack filter inserter from the train into a crate. The train picks up fresh or recycled empties only from the station where oil is unloaded.

It's not perfectly accurate for several reasons (stack inserter bonus stuff, multiple trains can mean it gets a bit stochastic, plus the circuits don't know how much oil or how many empties are in the assemblers, at least in 0.14) but it's close enough, doesn't require excessive numbers of barrels, and it returns to the correct equilibrium to match your oil production over time if disturbed, at least if you have sufficient total empties to cover your oil throughput.

It's too bad barrels will be semi-obsolete in 0.15 because I think it's a pretty fun problem and being able to connect more stuff to circuits will make it more so.

Re: how do YOU manage barrels of oil?

Posted: Sat Mar 25, 2017 11:06 pm
by Turtle Duck
In my latest base i've gone with somewhat of a dumb system that actually works quite well in handling barrels and works as following

When setting my trains up i supply them with half a cargo wagon of empty barrels, once they return with half a cargo wagon of crude barrels i supply them with a new set of empty barrels basically giving them an entire cargo wagon of barrels to juggle between stations. This often left me with moments where my unloading station didn't have crude barrels however, so i decided to add half a cargo wagon of barrels at the unloading station so there will always be a set of crude barrels.

Because i want to keep this number of half a cargo wagon at the stations exact i seperated all unloading docks to be its own network so all crude barrels are belted to their own unbarreling station and emtpys are belted back to their personal station. This way i can ensure my unloading docks always have 400 empty / crude barrels sitting there.

Trains are setup to only leave their outposts or unloading stations when they either have:
- empty barrels > half a cargo wagon -1 AND crude barrels < 1.
- crude barrels > half a cargo wagon -1 AND emtpy barrels < 1.

Re: how do YOU manage barrels of oil?

Posted: Mon Mar 27, 2017 1:14 am
by Avezo
I've given up automatin it long ago. It ends up full of empty barrels either way when oil fields become emptier..

I can't wait for fluid rail tanks.

Re: how do YOU manage barrels of oil?

Posted: Mon Mar 27, 2017 10:06 am
by mrvn
kurtulmak wrote:Every oil loading station gets at least one crude storage tank, storage tanks are wired to an arithmetic combinator that divides the contents by 25 and allows that many empty barrels to be unloaded by a filter or stack filter inserter from the train into a crate. The train picks up fresh or recycled empties only from the station where oil is unloaded.

It's not perfectly accurate for several reasons (stack inserter bonus stuff, multiple trains can mean it gets a bit stochastic, plus the circuits don't know how much oil or how many empties are in the assemblers, at least in 0.14) but it's close enough, doesn't require excessive numbers of barrels, and it returns to the correct equilibrium to match your oil production over time if disturbed, at least if you have sufficient total empties to cover your oil throughput.

It's too bad barrels will be semi-obsolete in 0.15 because I think it's a pretty fun problem and being able to connect more stuff to circuits will make it more so.
Pump jacks are really slow so the storage tank basically is always empty. I think this setup would result in the train just driving around constantly with very few barrels.

Re: how do YOU manage barrels of oil?

Posted: Mon Mar 27, 2017 12:34 pm
by Frightning
mrvn wrote:
kurtulmak wrote:Every oil loading station gets at least one crude storage tank, storage tanks are wired to an arithmetic combinator that divides the contents by 25 and allows that many empty barrels to be unloaded by a filter or stack filter inserter from the train into a crate. The train picks up fresh or recycled empties only from the station where oil is unloaded.

It's not perfectly accurate for several reasons (stack inserter bonus stuff, multiple trains can mean it gets a bit stochastic, plus the circuits don't know how much oil or how many empties are in the assemblers, at least in 0.14) but it's close enough, doesn't require excessive numbers of barrels, and it returns to the correct equilibrium to match your oil production over time if disturbed, at least if you have sufficient total empties to cover your oil throughput.

It's too bad barrels will be semi-obsolete in 0.15 because I think it's a pretty fun problem and being able to connect more stuff to circuits will make it more so.
Pump jacks are really slow so the storage tank basically is always empty. I think this setup would result in the train just driving around constantly with very few barrels.
Yea, there's basically no reason to send the train back to base unless it's actually got a full load of 400 Filled crude oil barrels. The most obvious exception being if your base has run out of oil, but that's where manually dispatching your oil barrel train from the outpost to your base comes in handy (the goto station command in train management window; can be done remotely w/ the nice train management interface that was added in 0.13).

Re: how do YOU manage barrels of oil?

Posted: Mon Mar 27, 2017 1:54 pm
by mophydeen
blueprint string:
https://pastebin.com/LNG6b0Z0
Screenshot from 2017-03-21 23-40-31.png
Screenshot from 2017-03-21 23-40-31.png (608.02 KiB) Viewed 4433 times

Re: how do YOU manage barrels of oil?

Posted: Tue Mar 28, 2017 6:04 pm
by kurtulmak
Frightning wrote:
mrvn wrote:Pump jacks are really slow so the storage tank basically is always empty. I think this setup would result in the train just driving around constantly with very few barrels.
Yea, there's basically no reason to send the train back to base unless it's actually got a full load of 400 Filled crude oil barrels. The most obvious exception being if your base has run out of oil, but that's where manually dispatching your oil barrel train from the outpost to your base comes in handy (the goto station command in train management window; can be done remotely w/ the nice train management interface that was added in 0.13).
It's true that you can use a buffer of stored crude + infrequent full wagons to maintain a steady oil throughput without much fuss about barrel management, but it's fun to create a "continuous flow" system that runs off a minimal number of barrels and storage tanks at the refining area (it approximates simply running long pipes out to oil bases).

Re: how do YOU manage barrels of oil?

Posted: Tue Mar 28, 2017 6:44 pm
by vanatteveldt
Haven't tested this but this might work:

Trains arrive at outpost loaded with empty barrels.
Each wagon has a single assembler at 1 tile from wagon
Stack inserter loads into assembler iff there is oil in the storage and the wagon is full.
Fast inserter loads full barrels into train.
Train leaves after 5 seconds of inactivity.

Should compute loading speed but since barreling is so much faster than pumping it might not be too bad...

Re: how do YOU manage barrels of oil?

Posted: Tue Mar 28, 2017 6:49 pm
by mophydeen
vanatteveldt wrote:Haven't tested this but this might work:

Trains arrive at outpost loaded with empty barrels.
Each wagon has a single assembler at 1 tile from wagon
Stack inserter loads into assembler iff there is oil in the storage and the wagon is full.
Fast inserter loads full barrels into train.
Train leaves after 5 seconds of inactivity.

Should compute loading speed but since barreling is so much faster than pumping it might not be too bad...
1. you wont use a stack inserter for such a task
2. 5 seconds might work on a small field, not on a bigger field.

Re: how do YOU manage barrels of oil?

Posted: Tue Mar 28, 2017 6:54 pm
by iceman_1212
[deleted]

Re: how do YOU manage barrels of oil?

Posted: Tue Mar 28, 2017 7:11 pm
by iceman_1212
vanatteveldt wrote:Haven't tested this but this might work:

Trains arrive at outpost loaded with empty barrels.
Each wagon has a single assembler at 1 tile from wagon
Stack inserter loads into assembler iff there is oil in the storage and the wagon is full.
Fast inserter loads full barrels into train.
Train leaves after 5 seconds of inactivity.

Should compute loading speed but since barreling is so much faster than pumping it might not be too bad...
Edit: Updated to more accurately describe the setup that I use for petroleum production.

I use almost this exact setup at both loading and unloading with one small difference (image below) - if you want to have backpressure reflected in the train network (i.e., if your production is backed up, then we'd want a train with full oil barrels to wait at unloading station until it's emptied of full oil barrels), then I've found that the most robust wait condition is a circuit condition that checks that the target # of empty/full barrels have been loaded onto the train.

I do this by counting the # of objects moved by my loading inserters. I like this method as it doesn't require using filter inserters (if you use separate cars for full/empties) or filtered cargo wagon slots.

That said, the only reason I'm barreling oil on my current save is for a change of pace - I do think long distance piping is much easier and requires minimal pumping even over long distances if flows are separated properly into multiple pipes.

See example of buffer-free unloading station below - each train carries 40 barrels at any time. All barrels unloaded from a train are loaded back onto that same train. My petroleum production line has zero storage tanks so it's a "just-in-time" oil delivery system (much like a long distance pipe).

Only one combinator is needed to count empty barrels going onto the train - it's connected to the rail signal and the inserter. The other two combinators are simply there to force a 2 second delay between a completed count and a train leaving the station - otherwise, the last few barrels counted by the loading inserter are left in its hand as the train leaves too quickly!

Note: if you want to buffer barrels in storage chest, you'd need to count BOTH barrels loaded and barrels unloaded in the circuit condition in order to simulate backpressure on rail tracks.

Image

Re: how do YOU manage barrels of oil?

Posted: Wed Mar 29, 2017 4:30 am
by vanatteveldt
vanatteveldt wrote:Haven't tested this but this might work:

Trains arrive at outpost loaded with empty barrels.
Each wagon has a single assembler at 1 tile from wagon
Stack inserter loads into assembler iff there is oil in the storage and the wagon is full.
Fast inserter loads full barrels into train.
Train leaves after 5 seconds of inactivity.

Should compute loading speed but since barreling is so much faster than pumping it might not be too bad...
Sorry for the self-reply :)

I tested it and of course it won't work as you can't read wagon contents (I thought that you could with the new circuit-connected train stop...)

However, I did realise that you can make an incredibly simple setup if you just don't buffer oil barrels at all:

- Wagon starts out with empty barrels, leave one stack open to prevent deadlock with two partial stacks
- Pumping station loads/unload directly into barreling assembler
- Refinery unloads/loads directly into unbarreling

Train can be set either to depart on inactivity (if you want partial shipments of oil) or on inactivity plus zero empty (outpost) / zero full (refinery). You need to add the inactivity together with the cargo check to give the assemblers time to do their job, making sure the barrels stay with the right train.

Advantages:
- Incredibly simple to setup, no belts, chests, circuits, reserved spots, filter inserters etc.
- Single wagon is sufficient (but you can use as many as you want)
- you know exactly how many barrels you need and it can't deadlock

Disadvantages
- barrels are not stored, so no easy buffer at the refinery. If you unload/load to chests at the refinery you need to make sure you can't deadlock (train full of empties arrives at an outpost with some fulls buffered, can't unload, can't load)
- train stop times are limited by assembler speed (as barrels are not stored).

It seems counterintuitive to not buffer barrels as it means trains spend more time in stations than needed. However, barreling is incredibly fast, so this is almost never the bottleneck, and I don't think I ever use more than a single wagon per outpost. Assuming you have a roundtrip time of 5 minutes (which is pretty long), this can move (390*25/300=)32.5 oil/s, which is more than most fields can produce. Of course, if you do have a really big field that is really far away, there is nothing stopping you from adding a second train. At the refinery, even taking into account the 10 seconds or so between trains, this can generate up to 4 assemblers worth of oil, or 125/s for 4xass3, enough for a rocket per 100 seconds.

If necessary, you can have scale this up with more wagons (if you have really big fields) or more stops at the refinery (if you have multiple smaller fields). Or you can add speed modules in the refinery unbarrelers, 4xass3+sp3 gives 375 crude per second, or enough for almost 2 rockets per minute.
screenshot
Edit: @mophydeen: yeah you're right about the stack inserters, I thought they would be needed to make sure there's room for adding full barrels, but leaving one space open is easier and safer. I'm not sure what you mean about 'big fields' and 5 seconds of inactivity, as it will stay there as long as there is oil and empty barrels (since there will be activity).

@iceman: not sure what backpressure means in the context of pumps, but I think my system works fine: barrels never "leave" the train; as soon as oil demand drops unbarreling will stop, the train won't run, and the outpost will also stop. As soon as there is demand again, the train will go back to the outpost, and the outpost continues producing. It's probably smart to have an oil storage at each outpost to allow them to continue pumping while the train is en route. Or did you mean something else?

Re: how do YOU manage barrels of oil?

Posted: Wed Mar 29, 2017 5:02 am
by Frightning
vanatteveldt wrote: ~snip~
Advantages:
- Incredibly simple to setup, no belts, chests, circuits, reserved spots, filter inserters etc.
- Single wagon is sufficient (but you can use as many as you want)
- you know exactly how many barrels you need and it can't deadlock

Disadvantages
- barrels are not stored, so no easy buffer at the refinery. If you unload/load to chests at the refinery you need to make sure you can't deadlock (train full of empties arrives at an outpost with some fulls buffered, can't unload, can't load)
- train stop times are limited by assembler speed (as barrels are not stored).
~snip~
You can unload to chests and still never have issues with deadlocks. It's what my system does. The key observation is this: Every barrel filled while the train is gone is an empty barrel used and hence a 'space' available in the empty barrel chest (it IS important to use an empty barrel chest separate from your full barrel chest). The only other issue is what can happen in the wagon if you use the same wagon for both empties and fulls. (The train can end up leaving a few fulls behind because there was a partial stack of empties in the way). I avoid this by using separate wagons for empties and fulls, but it's possible to deal with the problem in other ways (such as requiring the train to wait until the filled barrel chest is actually empty via circuit network).

Re: how do YOU manage barrels of oil?

Posted: Wed Mar 29, 2017 7:06 am
by vanatteveldt
@frightning: you're right, if you make sure that there are no full barrels cached in the assemblers at the outpost, you can use buffers at the refinery. However, if you use buffers you either need two wagons or filter inserters, and it makes the setup more complex. The benefit of my design is not that it is more efficient (it isn't, the lack of buffering means trains are slower to load/unload), but that it is very simple to setup, does not deadlock, and still has plenty of throughput and scalability because of the incredible capacity and speed of (un)barreling.

Re: how do YOU manage barrels of oil?

Posted: Thu Mar 30, 2017 12:31 am
by Frightning
vanatteveldt wrote:@frightning: you're right, if you make sure that there are no full barrels cached in the assemblers at the outpost, you can use buffers at the refinery. However, if you use buffers you either need two wagons or filter inserters, and it makes the setup more complex. The benefit of my design is not that it is more efficient (it isn't, the lack of buffering means trains are slower to load/unload), but that it is very simple to setup, does not deadlock, and still has plenty of throughput and scalability because of the incredible capacity and speed of (un)barreling.
I don't need to worry about barrels being cached in the assemblers with my method. The train simply waits until it has a full load of 400 filled barrels, which means that the outpost has up to 400 empties (and the train currently holds 0 empties), before it leaves. Also, only the unloading inserters need to be filtered in a 1-wagon design (and none in 2-wagon design, ofc), the loading inserters can be unfiltered and it will work just fine.

The one thing I don't like about your setup: You require a Storage tank in order to allow the Pumpjacks to work continuously. My setup does not, I use the Barrels instead to achieve that. (Of course the system can stop due to running out of barrels, but that's the same as the Storage tanks getting filled completely; backpressure from underconsumption in action).

Re: how do YOU manage barrels of oil?

Posted: Thu Mar 30, 2017 1:02 am
by Tym
it sounds as if i'm using a somewhat different approach: all train cars leave the refinery filled with empty barrels. All oil fields contain enough tankage to fill a train (2 cars @400 barrels is 20K oil units, so usually it's 9-10 tanks at 2.4K units each).

on reaching an oil field, a filter inserter extracts empty barrels to a staging chest, which the oil-2-barrel assembler draws from at need.

The output of the assembler buffers output to another chest, and from there to the train car.

Limits on the output chest are set to be the same size as the train car, and enough barrels are provided at the oil field that the assembler can have a full train's worth of filled barrels ready and waiting.

when the train arrives, the empty barrels are unloaded and the filled barrels are loaded, simultaneously.

the train stop condition is for full load of filled barrels. (now if i can just get more than one station to work automatically...)